适用于简单数据库应用程序的良好(基于 CMS?)平台
我需要实现另一个数据库网站。假设大约有 5 个表、25 列和(最终)数千到数万行。轻松的数据输入和维护比向非特权用户呈现数据更重要。这是一个小众网站,因此性能不是问题。我们会毫不费力地找到地方来托管它。
那么:什么是一个好的平台呢?凭直觉,我觉得应该有一些平台可以在不编写代码的情况下完成此操作 - MS Access 的某些 Web 版本。显然,我很乐意编写业务规则以及将其与其他数据库应用程序区分开来的特殊逻辑。
我研究过 Drupal(带有视图),它看起来是可行的,但需要付出相当多的努力。接下来会看看 Al Fresco。 CMS-y 平台会有所帮助,因为这样您就可以很好地集成静态内容,获得漂亮的样式、插件等。
真正好的数据输入(跟踪更改、日志记录、回滚能力、批量导入...)会很棒。如果授权用户可以执行任意 SQL 查询(是的,我知道......),那将是一个很大的好处。图像管理支持是一个小奖励。
I need to implement yet another database website. Let's say roughly 5 tables, 25 columns, and (eventually) thousands to tens of thousands of rows. Easy data entry and maintenance are more important than presentation of the data to non-privileged users. It's a niche site, so performance is not a concern. We'll have no trouble finding somewhere to host it.
So: what's a good platform for this? Intituitively I feel that there ought to be some platform that allows this to be done with no code written - some web version of MS Access. Obviously I'm happy to code business rules, and special logic that distinguishes this from every other database app.
I've looked at Drupal (with Views) and it looks possible, but with quite a bit of effort. Will look at Al Fresco next. A CMS-y platform helps because then you can nicely integrate static content, you get nice styling, plugins, etc etc.
Really good data entry (tracking changes, logging, ability to roll back, mass imports...) would be great. If authorised users could do arbitrary SQL queries (yes, I know...) that would be a big bonus. Image management support a small bonus.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
我会看一下交响乐。我自己没有使用过它,但看起来它真的很容易使用和定制!
http://symphony-cms.com/
I would take a look at Symphony. I havn't been using it myself, but it seems like it's really easy to use and to customize!
http://symphony-cms.com/
在我看来,在线数据库系统比 CMS 系统更好。
因此,除了上面发布的内容之外:
www.quickbase.com(由 Intuit 提供) - 大约 150 美元/月
www.rollbase.com - 检查价格,功能齐全
www.rhythmdata.com - 易于设置,但不要'我认为它没有您正在寻找的高级功能。
祝你好运!
乙
Seems to me an online database system would be better than a CMS system.
So in addition to what's been posted above:
www.quickbase.com (by Intuit) - think around $150/mo
www.rollbase.com - check on price, full featured
www.rhythmdata.com - easy to set up, but don't think it's got the advanced features you're looking for.
Good luck!
B
我很欣赏这些答案,但它们中的大多数确实是在其他方面做得更好的平台(例如,Drupal确实是一个CMS,并且对自定义字段有一些支持 - 但这一点也不容易)。由于这是一个从头开始的全新网站,因此我认为事后才开始处理自定义数据库字段并没有多大意义。
我发现的最接近的是 Zoho Creator。它确实就像“MS Access for Web 2.0” - 甚至支持从 Access 导入。但定价可能会变得昂贵。感觉它最终可能会受到很大的限制。我还在评估中。
还有其他类似 Zoho Creator 的产品吗?
I appreciate these answers, but most of them are really platforms that are much better at something else (eg, Drupal really is a CMS, and has some support for custom fields - but it's not at all easy). Since this is a brand new site from scratch, it doesn't really make sense to start with something that does custom database fields as an afterthought, I think.
The closest I've found is Zoho Creator. It really is like "MS Access for Web 2.0" - and even supports importing from Access. The pricing could get expensive though. It feels like it might eventually be quite constraining. I'm still evaluating.
Are there any other products like Zoho Creator?
Django 就是您正在寻找的。事实上,您可能不需要太多编码,只需配置即可设置您所要求的内容。
完成后,授权用户可以使用漂亮但简单的 GUI 添加“行”,当然,您也可以通过数据库命令批量导入。
我是一个 Python 新手,我已经创建了 2 个基于 Django 的网站。我已经创建了十几个基于 Drupal 的站点,而 Django 更简单并且生成的站点速度明显更快。
Django is what you are looking for. In fact, you could probably set up what you ask without much coding at all, just configuration.
Once complete, authorised users can add 'rows' with a nice but simple GUI, or, of course, you can batch import via database commands.
I'm a Python newbie, and I've already created 2 Django-based sites. I have created more than a dozen Drupal-based sites, and Django is easier and produces significantly faster sites.
您的需求介于两把椅子之间:定制应用程序和基于 CMS。当且仅当您认为未来对内容结构自定义的需求将会增长,从而慢慢消除对直接 SQL 查询的需求时,我才会提倡使用 CMS 方法。
自从与 eZ Publish 合作多年以来,我有偏见,但它满足了您原生表达的要求:
内容版本感觉的想法可以在这里观看:
http://ez.no/Demos-Videos/eZ-Publish -管理界面视频教程
,您可以在那里下载并试用 eZ Publish 社区版:http://share.ez.no/latest
它是一个基于 PHP 的解决方案,强大的专业社区 (http://share.ez.no),超过 1100 个可用的附加组件在 http://projects.ez.no 上。底层库主要依赖于 Apache Zeta 组件,这是一组高质量、健壮的 PHP5 库。
最后一点:内容模型是抽象的,这意味着您不必每次存储新类型的内容时都创建一个新表:来自管理界面的简单内容类定义,其余部分都会被处理,包括新内容类型的版本界面。可能会消除对核心 SQL 查询的需要吗?
希望有帮助,
Your need somewhat sits between two chairs : bespoke application and CMS-based. I'd advocate for the CMS approach, if and only if you feel the need for content structure customization will grow in the future, slowly removing the need for direct SQL queries.
I am biased since working with eZ Publish for many years now, but it satisfies the requirements you expressed natively :
An idea of the content edition feel can be watched here:
http://ez.no/Demos-Videos/eZ-Publish-Administration-Interface-Video-Tutorial
and you can download and test-drive eZ Publish Community Edition there : http://share.ez.no/latest
It is a PHP-based solution, strong professional community (http://share.ez.no), over 1100 add-ons available on http://projects.ez.no. The underlying libs are mostly relying on Apache Zeta Components, high-quality, robust set of PHP5 libraries.
Last note : the content model is abstracted, meaning you'd not have to create a new table everytime a new type of content should be stored : a simple content class definition from the administration interface, and the rest is taken care of, including the edition interface for the new content type. Might remove the need for hardcore SQL queries ?
Hope it helped,
Drupal 可以完成您需要的大部分功能(我不知道有哪个模块可以让您输入任意 SQL 查询),但是您最终会得到一些您并不真正需要的表和模块的开销。由您决定这是否是一个问题。我认为开销不会影响您的情况的性能。
使用 Drupal 的优势在于庞大的社区、平台的稳定性以及在需要时添加更多功能的灵活性。此外,庞大的用户群确保大多数代码都经过了很好的测试。
Drupal can do most of what you need (I don't know of a module that will let you enter arbitrary SQL queries), but you will end up with some overhead of tables and modules you don't really need. It's up to you to decide if that's a problem or not. I don't think the overhead would hurt performance in your case.
The advantages of using Drupal would be the large community, the stability of the platform and the flexibility to add more functionality when needed. Also, the large user base ensures that most code has been tested rather well.
我强烈推荐 Drupal。它非常简单(而且内部代码库小而干净),它具有多种可能性和巨大的支持。一旦你开始使用 Drupal,你就再也不会去尝试其他的东西了。
请注意,我与 Drupal 工作人员没有联系,我刚刚创建了多个 Drupas 站点,其中许多站点只用了几分钟。我的最后一个花了我 2 小时,请在此处查看 http://iPadDevZone.com
更新#1:
这实际上取决于您的数据库模式复杂性。最好的情况是您只需使用 CCK 模块(现在是核心的一部分)并创建您的节点类型。节点是内容的 Drupal 名称。您所做的只是通过网络管理您的节点类型字段(文本、图像、数字、日期、自定义等)。然后,如果用户使用此节点类型创建内容,他/她可以输入存储在单独的数据库表字段中的所有字段。然而,这对您来说是隐藏的 - 如果您不想知道它 - 它只是一个网络 GUI。然后,您可以选择节点的呈现方式、显示的属性以及显示的位置。
观看本页底部 CCK 资源部分中的视频:http://drupal.org/project/cck
如果您需要进行一些编程,那么使用所谓的 PHP 代码片段也非常容易,这些代码片段作为内容(节点)的一部分输入并在显示页面时执行。
Drupal 在核心中内置了节点修订版。您可以查看所有版本并根据需要回滚。
您可以非常精细地设置权限,以便您可以控制用户可以做什么或不可以做什么。
I highly recommend Drupal. It is very simple (also internally codebase is small and clean) it has dosens of possibilities and tremendous support. Once you start with Drupal you will never go to anything else.
Note that I'm not connected with Drupal staff, I've just created dosens of Drupas sites and many of them in just a minutes. My last one took me 2 hrs, see it here http://iPadDevZone.com
UPDATE #1:
It really depends on your DB schema complexity. The best case is that you just use CCK module (part of core now) and create your node type. Node is Drupal name for content. All you do is just web admin your node type fields (text, image, numbers, dates, custom, etc). Then, if user creates content with this node type he/she can enter all the fields which are stored in separate db table fields. This is however hidden for you - if you wish not to know about it - it is just a web gui. Then you choose how the node is presented, which properties as shown and where.
Watch videos in CCK resources section in the bottom of this page: http://drupal.org/project/cck
If you need to do some programming then it is also very easy to use so called PHP code sniplets which are entered as part of your content (node) and executed when the page is displayed.
Drupal has node revisions built in the core. You can see all the versions and roll back if you wish.
You can set the permissions in quite granular level so you can control what your users may or may not.