在我的机构,我们有一个小型图书馆,有 150 本书和 50
用户。我们想使用一个简单的在线管理系统
显示书籍,让用户在获取和输入时进行搜索和输入
归还一本书。 (没有图书管理员,书就放在一个
否则空房间。)
我不熟悉现代网络内容管理系统。在
以前,我只会实现一个快速的 Perl/CGI 脚本,但我
认为现在有更好的选择吗?
获取/实施这样一个系统的最简单方法是什么?姜戈?
Ruby on Rails?理想情况下,我想在我的用户帐户中运行它
无需安装数据库支持等。
是否可以在一个动态 HTML 页面上完成所有操作?什么作用
AJAX能在这样的系统中发挥作用吗?
At my institution, we have a small library with 150 books and 50
users. We would like to use a simple online management system that
displays the books, lets users search and enter when they get and
return a book. (There is no librarian, the books are just in an
otherwise empty room.)
I'm not familiar with modern web content management systems. In the
old days, I would have just implemented a quick Perl/CGI script, but I
think there are better options nowadays?
What would be the simplest way to get/implement such a system? Django?
Ruby on Rails? Ideally, I'd like to just run it in my user account
without having to install database support etc.
Is it possible to do everything on one dynamic HTML page? What role
does AJAX play in such a system?
发布评论
评论(3)
我建议在决定从头开始构建一个库之前先看看可用的库开源工具:
http://www.libsuccess.org/index.php?title=Open_Source_Software#Great_Free.2FOpen_Source_Tools_for_Libraries
您研究中的另一个好资源:http://www.oss4lib.org/
如果您找到符合要求的现有工具(或足以使其值得扩展),那么这对于指导最适合使用哪种平台/语言/框架和技术非常重要。
I suggest take a look at the available open source tools for libraries before deciding to build one from scratch:
http://www.libsuccess.org/index.php?title=Open_Source_Software#Great_Free.2FOpen_Source_Tools_for_Libraries
Another good resource in your research: http://www.oss4lib.org/
If you find an existing tool that fits the bill (or enough to make it worth extending), that will be important in guiding what platform/language/framework and techniques will be best to use.
如果您想要一个快速且简单的解决方案,您可能需要考虑使用 SQLite 作为数据库后端,因为它不需要任何配置或设置(当然,表除外)。
如果您周围有一台机器,您可以查看 Qt/C++ 或 PyQt 来创建一个简单的用户界面。
Pylons(有很多替代方案!)或任何其他 Web 框架也可以完成这项工作,但我想创建一个 Web 应用程序比创建一个快速而简单的桌面应用程序来完成这项工作需要更多的工作。
If you want a quick and easy solution, you might want to consider using SQLite as the database backend, since it does not require any configuration or setup (except for the tables, of course).
If you have a machine standing around there, you could take a look at Qt/C++ or PyQt to create a simple user interface.
Pylons (there are lots of alternatives!) or any other web framework might do the job as well, but I guess it would be more work to create a web application than a quick and simple desktop application for this job.
这是一个相当复杂的问题,没有简单的答案。我能做的就是为您指明一些资源的方向,以帮助您入门:
框架/CMS
不幸的是,大多数框架至少需要某种最小类型的数据库交互。虽然这并不适用于所有人,但避开框架可能是最容易的,无论如何您可能不需要那么多开销。
Javascript/AJAX
如果您希望在没有任何单独页面加载的情况下发生事情,那么当然,您可以使用一些 ajax。但是,您可能不需要任何如此复杂的东西
我会如何做
如果您真的足够信任您的学生并勤于签入/签出书籍,我认为最简单的方法是在网页上的某个地方放置一个表格,他们可以输入他们正在签入/签出的书籍的编号。然后将每本书的状态存储在某个地方的文本文件中(你说你不想使用任何数据库),或者甚至查看 sqlite。
同样,您可能不需要完整框架/CMS 的所有开销。正如您所说,编写一个快速脚本来处理 ISDN、ID、标题以及他们签入/签出的任何书籍将是相当简单的。
此外,现在有比 Perl 和 CGI 更容易编写脚本的语言。尝试PHP,Ruby,或 Java
This is quite a complicated question doesn't have a simple answer. The best I can do is point you in the direction of some resources to get you started:
Framework/CMS
Unfortunately, most frameworks require at least some minimal kind of db interaction. While this is not true for all, it would probably be easiest to steer clear of a framework, you probably don't need that much overhead anyway.
Javascript/AJAX
If you want things to happen without any seperate pageloads, then sure, you can use some ajax. However, you probably don't need anything this sophisiticated
How I Would Do It
If you really trusted your students enough to be diligent about checking in/out books, I think it would be easiest to just have a form on a webpage somewhere that they could enter the number of the book they are checking in/out. Then store the state of each book in a text file somewhere (you said you didn't want to use any db's), or even look into sqlite.
Again, you probably don't need all the overhead of a full framework/CMS. It would be fairly trivial to, as you said, write a quick script to handle the ISDN, ID, Title, Whatever of the book they are checking in/out.
Also, there are significantly easier languages to write scripts in these days than Perl and CGI. Try PHP, Ruby, or Java