我试着改写你写的内容,只是为了让你检查我的问题是否正确。您基本上需要创建一个 Web 应用程序:
- 实现 Drupal 的一些标准功能
- 有一些应该“融入” Drupal 的自定义功能(相同的用户、相同的权限等......)
- 能够从桌面应用程序上传/下载内容(或数据)。
如果我没听错,简短的回答是:是的,你可以用 Drupal 做到这一点。
现在是扩展的一个: - Drupal 实际上有数千个模块,所以我希望您通过简单地安装现成可用模块的正确组合来获得大部分您想要的东西。- 当然,任何自定义功能也可以很容易地以模块的形式实现(这几天很标准)。- 与桌面应用程序的交互通常是通过web服务实现的,而不是直接查询数据库。Drupal 本身带有 xmlrpc 服务器和客户端,但您可以通过几个 contrib 模块扩展到 SOAP(如果您愿意的话)。
一些额外的想法:
- 如果您选择使用 Drupal,并且从头开始,那么您必须意识到您和您的团队需要花费一些时间和精力来了解 Drupal 的工作原理。虽然 - 与 Palantir 不同 - 我坚持使用 Drupal,但我同意她/他的观点,即Drupal 立即变得
复杂复杂。这是您必须付出的代价才能拥有一个平台——放心——非常灵活、可插拔且坚如磐石(否则它不会被用来重新设计白宫,Drupal 也不会得到我想连续第二年获得“最佳 PHP CMS”奖)。
- 好消息是:那里有一些优秀的书籍,我当然会推荐“Pro Drupal Development”来深入全面地解释系统。请务必获得第二版,因为第一版涉及现已过时的 5 版。那就是说...
- 至少在我看来,Drupal 的一个非常好的事情是,您可能需要对现有功能进行的大多数调整也可以通过从自定义模块中连接到原始代码来实现。这个 IMO 是 Drupal 的最大优势:您永远不必接触其他开发人员的代码来实现您的目标,这意味着 - 例如 - 您将能够保持您的核心和贡献模块是最新的而不会破坏任何您可能已经完成的自定义。
- Drupal 很重。与其他 CMS 相比,它从您的服务器中吸收了大量的处理能力和 RAM,并且 - 除非您将拥有一个非常小的站点 - 我建议将其与 nginx 一起部署,而不是与 Apache 一起部署。
- 得益于良好的缓存机制和“节流”机制,Drupal 可以很好地扩展。听起来很奇怪,Drupal 在大流量网站上的扩展性非常好,因此流量的大幅增加并不一定意味着资源使用量的大幅增加。
- Drupal 站点上开箱即用的用户体验非常差。目前正在进行大量工作(此处和此处(视频)),但要等到 D7 发布后才能进行改进[很快,但是您将不得不等待模块被移植],因此,如果您的网站管理员不属于技术类型,建议分配一些时间来创建管理主题。
归根结底,我的建议是:如果您的网站要变得庞大/复杂/具有复杂的业务逻辑和大量功能,那么 Drupal 可能是一个不错的候选者。如果您的站点是一个具有标准功能和一些自定义位的小规模站点,也许 Wordpress / Joomla 可以更好地满足您的需求[不是因为它们“不那么强大”,而是因为在这种情况下将使用 Drupal 的优势,而 Wordpress /Joomla 更简单的架构在这种情况下可能代表一个优势]
其他选择当然是像 CakePHP 或 Django 这样的框架,但我会说 - IMO - 是一种完全不同的方法来解决这个问题。