Web 应用程序与 Drupal 的集成 [英] Web application integration with Drupal

查看:15
本文介绍了Web 应用程序与 Drupal 的集成的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们想要构建一个特定于我们域的 Web 应用程序,但在此应用程序中还包括论坛、博客等.还需要一些与 Twitter 和 Facebook 的集成点.还将有一个桌面应用程序连接到我们的 Web 应用程序,用于上传数据和下载配置和报告.

We want to build a web application, that is specific to our domain, but also include forums, blogs etc in this application. Some integration points to Twitter and Facebook are also required. There will also be a desktop application that connects to our web application for uploading data and downloading configuration and reports.

问题是,我们可以扩展 Drupal 来托管常规模块和我们的 Web 应用程序吗?(将会有从桌面应用程序上传的业务实体及其属性和日常数据)或者 Drupal 可以与外部应用程序集成吗?例如,用户和角色在两者之间需要相同和一致.我们可能还希望可以在 Drupal 中搜索来自 Web 应用程序的数据.

The question is, can we extend Drupal to host both the regular modules and our web application? (There will be business entities and their properties and daily data uploaded from the desktop application) Or can Drupal be integrated with external applications? As an example, users and roles need to be same and consistent across both. We may also want data from the web application searchable in Drupal.

我知道这有点含糊,但我不能透露更多.我对内容管理很陌生,我只是想知道是否有人构建了这种应用程序.

I know this is a bit vague, but I cannot reveal more. I am very new to content management and I just wanted to know if someone has built this kind of application.

推荐答案

我尝试改写您写的内容,只是为了让您检查我是否正确回答了您的问题.您基本上需要创建一个 Web 应用程序:

I try to rephrase what you wrote, just for you to check that I got your question right. You basically need to create a web application that:

  1. 实现 Drupal 的一些标准功能
  2. 具有一些应该融入"Drupal 的自定义功能(相同的用户、相同的权限等...)
  3. 能够从桌面应用程序上传/下载内容(或数据).

如果我猜对了,简短的回答是:是的,你可以用 Drupal 做到这一点.

If I got you right, the short answer is: yes, you can do that with Drupal.

现在是广泛的:- Drupal 有数以千计的模块,所以我希望你通过简单地安装现成模块的正确组合来获得大部分你想要的东西.- 当然,任何自定义功能也可以很容易地以模块的形式实现(如今已是非常标准的事情).- 与桌面应用程序的交互通常通过webservices 实现,而不是直接查询数据库.Drupal 自带 xmlrpc 服务器和客户端,但您可以通过几个 contrib 模块扩展到 SOAP(如果您愿意).

Now for the extensive one: - Drupal has literally thousands of modules, so I expect you to get most of the things you want by simply installing the right combination of readily available modules. - Of course, any custom functionality can easily be implemented in form of a module too (quite standard thing these days). - The interaction with a desktop application is normally implemented via webservices rather than querying the DB directly. Drupal comes natively with a xmlrpc server and client, but you can scale up to SOAP - if you wish - via a couple of contrib modules.

一些额外的想法:

  • 如果您选择使用 Drupal,并且从头开始,那么您必须意识到您和您的团队需要投入一些时间和精力来了解 Drupal 的工作原理.尽管 - 与 Palantir 不同 - 我坚持使用 Drupal,但我同意她/他的观点,即 Drupal 立即变得 complicated 复杂.这是您必须付出的代价,才能拥有一个平台——请放心——非常灵活、极其可插拔和坚如磐石(否则它不会被用于重新设计<一个 href="http://www.whitehouse.gov/" rel="noreferrer">白宫,我想 Drupal 也不会连续第二年获得最佳 PHP CMS"奖).
  • 好消息是:有一些优秀的书籍,我当然会推荐Pro Drupal Development",以深入和全面地解释该系统.请务必获得第 2 版,因为第一版涉及现已过时的 5 系列.也就是说...
  • 至少在我看来,Drupal 的一个非常好的地方是,您可能需要对现有功能进行的大部分调整也可以通过挂接到自定义模块中的原始代码来实现.这个 IMO 是 Drupal 的最大优势:你永远不必接触其他开发人员的代码来实现你的目标,这意味着 - 例如 - 你将能够保持你的核心和 contrib 模块是最新的,而不会破坏任何您可能已经完成的定制.
  • Drupal 很重.与其他 CMS 相比,它从您的服务器中吸取了大量的处理能力和 RAM,并且 - 除非您将拥有一个非常小的站点 - 我建议将它与 nginx 而不是 Apache 一起部署.
  • Drupal 可以很好地扩展,这要归功于良好的缓存机制和节流"机制.听起来很奇怪,但 Drupal 在大流量网站上的扩展性非常好,因此流量的大幅增加并不一定意味着资源使用量的大幅增加.
  • Drupal 站点上的用户体验非常差.目前有大量工作正在这方面进行(此处这里(视频)),但在 D7 发布之前不会提供改进[很快,但你会必须等待模块移植],因此如果您网站的管理员不是技术类型,建议分配一些时间来创建管理主题.
  • If you choose to use Drupal, and you start from scratch, then you have to be aware you and your team will need to dedicate some time and effort to understand how Drupal works. Although - differently than Palantir - I stuck with Drupal, I agree with her/him on the fact that Drupal gets complicated complex right off the bat. This is the trade-off you have to pay in order to have a platform that - rest assured - is very flexible, extremely pluggable and rock-solid (otherwise it wouldn't have been used to redesign the whitehouse, nor Drupal would have got for the second year in a row the "best PHP CMS" award, I suppose).
  • The good news is: there are some excellent books out there, and I would certainly recommend "Pro Drupal Development" for an in-depth and all-around explanation of the system. Just be sure to get the 2nd edition, as the first deals with the now obsolete 5 seres. That said...
  • A very good thing about Drupal, at least in my opinion, is that most of the tweaks you might need to do to an existing functionality can be implemented by hooking into the original code from a custom module too. This IMO is the biggest advantage of Drupal: you never have to touch other developers' code to achieve your goals, and this means - for example - that you will be able to keep your core and contrib modules up-to-date without breaking any customisation you might have done.
  • Drupal is heavy. Compared to other CMS it sucks plenty of processing power and RAM from your server, and - unless you are going to have a very small site - I recommend to deploy it in conjunction with nginx, rather than Apache.
  • Drupal scales well, thanks to a good mechanism of caching and "throttling up" mechanisms. Strange as it might sound, Drupal scales very well on large traffic websites, so that big increases in traffic do not necessarily imply big increases in resource usage.
  • The user experience out-of-the-box on a Drupal site is quite poor. There is a massive work being done on this at the moment (here and here (video)), but improvements won't be available until D7 is released [soon, but then you will have to wait for the modules to be ported], so it is advisable to allocate some time to create an administrative theme, if the admins of your website won't be of the technical type.

归根结底,我的建议是:如果您的网站要变大/复杂/具有复杂的业务逻辑和大量功能,那么 Drupal 可能是一个不错的选择.相反,如果您的站点是具有标准功能和一些自定义位的小型站点,那么 Wordpress/Joomla 可能会更好地满足您的需求 [不是因为它们不那么强大",而是因为在这种情况下不会使用 Drupal 的优势,而 Wordpress/Joomla 更简单的架构在这种情况下可能代表一个优势]

At the end of the day, my advice is: if your site is going to go big / complex / with complicated business logic and lots of functionality, then Drupal is probably a good candidate. If your site is contrarily a small-scale one with standard functionality plus a few custom bits, maybe Wordpress / Joomla could fit your needs better [not because they are 'less powerful' but because Drupal strengths would be unused in this case, while Wordpress/Joomla simpler architecture would probably represent an advantage in this scenario]

其他选项当然是像 CakePHP 或 Django 这样的框架,但我想说,IMO 是一种完全不同的方法.

Other options would certainly be frameworks like CakePHP or Django, for example, but that - IMO - is a totally different approach to the matter, I would say.

这篇关于Web 应用程序与 Drupal 的集成的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆