-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dp3初期讨论 #1
Comments
新建一个.NET Core命令行程序,引用MongoDB.Bson包不成功。
这篇文章说,.NET Core也可以使用MongoDB了,找RaisingStudio.MongoDB.***这种包。 后来经伙伴推荐,可以使用mongocsharpdriver,.NET Core可以正常引用 经检查 ,用一个全新的.net core项目,仅仅引用MongoDB.Bson包,发现下级lignweight有版本不一致的问题。原来是.NET Core平台下的MongoDB.Bson包有问题,他引用的NETStandard.Library 1.6.1模块引了Lignweight4.3,但MongoDB.Bson包自己引用的Lignweight是4.0.1,两者不一致。 经谢老师指导,明白使用MongoDB,只需要引用MongoDB.Driver这一个最上级包就行了,MongoDB.Driver会自动引用依赖的MongoDB.Driver.Core、MongoDB.Bson等,不需要再另外引用MongoDB.Bson等下级包。 |
谢老师留言: 做一些试验项目,比如学习 .NET Core 的用法等等。但 dp3 这个项目,先要花精力进行分析,可以带着参与者一起分析。不要狭隘地理解为开始写代码才是开始 分析期间,要写一系列的 Issue,把数据结构和模块流程基本弄清楚。就是纸上谈兵,不要急着编写程序代码 比如前一段提到的中立书目格式,到底是一个什么样的格式,可以把结构写出来。然后听听编目老师等等的意见。 有了基本的这些准备以后,可以开始写一些非常简单的代码。如果这些代码质量高,最后可以保留到正式产品中,如果质量不高,但能达到摸清情况的目的,也是可以的,后面可以重写这部分代码。 |
关于架构,谢老师留言: 所以说设计系统,根本上还是面对自己的职业良心,为未来着想,为自己留个余地和退路。很多人觉得只要面对用户就可以,满足用户的口头需求。甚至对用户的态度也是蛮好的。一切看起来都不错 但用户自己是不清楚自己的需求的。就好像一个婴儿哭闹,你问他他说不出哪儿不舒服;小孩子有交流能力了,但他喜欢吃糖,大人也不能完全满足他,要从他的长远利益考虑来安排生活才对。用户就是孩子,你关切他,但不能盲目听他的 所以经常出现用户对自己说过的话反悔的情况。或者看到另一个软件,觉得那个更好,就不顾以前自己的“承诺”了,要你去模仿那个软件。所以我们说需求,是一个上帝视角,第三者神圣视角的需求。永远不可能看清楚这个终极需求,只能想办法拷问出这个需求的冰山一角,逐渐接近这个需求 所以我们会设计一个柔性的系统,对后期的大规模功能变化做好准备。那些本质上适用各种情况的柔性的方案,是我们追求的专业性目标 这样能把技术债务控制在一个可接受的范围。一边成长,一边使用。不会在某天出现突然崩塌 |
1)ISO2709 -> 中立格式 |
关于系统迁移Jason.Liao(271095962) 18:59:53 我能明显看到的有图书信息,有册信息,有读者信息,用户信息。事务记录信息。 数字平台谢*(2820725526) 19:02:46 书目库,也就是那个小书目库,好理解,就是 MARC 格式记录存储的地方,负责书目信息,就是一种图书的“种”的信息存储。小书目库下属的这些数据库,我用实体库举例说明一下。 实体库是保存册信息的。每一条册记录负责保存一个册的信息。如果一种图书有一千册,那就要一千个册记录。册记录里面有个 parent 元素,和书目记录勾连起来了。parent 元素里面是书目记录的 ID。但书目记录不记载它下属册的 ID。也就是说儿子知道自己父亲是谁就行。父亲不知道。要通过检索册记录的 parent 元素才能知道到底有哪些儿子。 为了完整保存这个大书目库的信息,便于迁移,内务提供了“导出到 .bdf 文件”的功能,后面您有空可以看看。这个 .bdf 格式,用 XML 聚集了书目记录和下属册、订购、评注等记录,保存起来,是一个我们的“长期保存”格式。非常便于在系统之间迁移数据 换句话说,就是第三方图书馆系统,只要能把自己系统内的信息,组织起来保存到 .bdf 文件就可以了 .dbf 格式就是有廖工说的 DDD 思路的萌芽。就是说系统不是乱设计的,是有个 master data format 的 数字平台任**(474381593) 19:08:16
@Jason.Liao 其它系统迁移到dp2系统,如果其它系统书目是marc格式,dp2有一些统计方案,可以将marc中的馆藏信息转换成册记录。 Jason.Liao(271095962) 19:09:23 数字平台谢*(2820725526) 19:09:56 数字平台任**(474381593) 19:10:30 Jason.Liao(271095962) 19:10:29 数字平台谢*(2820725526) 19:11:15 这次 dp3 也就是要试图更好解决这个头疼的问题 Jason.Liao(271095962) 19:12:15 Jason.Liao(271095962) 19:11:36 数字平台谢*(2820725526) 19:12:16 数字平台谢*(2820725526) 19:13:01 Jason.Liao(271095962) 19:13:04 数字平台谢*(2820725526) 19:13:12 dp3 这次,刚出来模块的时候,肯定无法代替 dp2。但可以首先解决阅读分析问题。这也是我们的一个步骤方面的想法,让新开发的系统尽早发挥作用 dp3 一开始开发,就要有同步功能,从 dp2 日志里面,把几乎全部信息同步过来到 dp3 里面。这样,一个 dp2 系统和一个 dp3 系统,可以形成双机同步状态 然后,dp3 系统可以作为阅读分析系统率先投入使用。因为 dp2 系统的结构,导致做统计分析异常困难。所以我们就转移阵地,让初生的 dp3 来满足这个需求 所以我们设计 dp3 的时候,设计 mongodb 数据格式的时候,很早就要用阅读分析模块来考验它。必须要先满足统计需求 如果数据格式不方便进行统计,就要把它改到可以方便统计为止。 Jason.Liao(271095962) 19:17:12 数字平台谢*(2820725526) 19:17:26 上面提到的基本数据格式,迁移的话题,也很有价值。对其他系统迁移到 dp2 或者 dp2 反过来迁移到其他系统,都是很实际的考量 因为用户很关注数据安全,所以在使用一个系统前,就要了解这个系统内的数据可以迁出。所以我们要给用户一个交代 我们设计系统,一开始就是容易迁出数据的系统。这是个优点 dp3 在设计和开发周期内,肯定是和 dp2 并行推广的,两个系统肯定要并存很长很长时间。我们不但要开发好 dp3,而且要在中间阶段让它尽早和 dp2 互相交融。 |
用阅读分析模块去验证dp2底层模块数字平台谢*(2820725526) 19:24:01 然后 dp2OPAC 也做得较早。所以 dp2 系统可以认为是面向流通和公共查询的。能看得出当时比较担忧这两个模块的实际效果,所以把它们排在了前面。 现在开始做 dp3 系统,我们是比较忧虑阅读分析模块,心里不是太有底,所以把报表模块放在最开始开发。这样也好,毕竟有个重点,避免目标太大而失去具体目标。 |
关于dp3全文检索使用lucene的一些讨论Jason.Liao(271095962) 16:45:56 数字平台谢*(2820725526) 16:52:00 Jason.Liao(271095962) 16:52:12 数字平台谢*(2820725526) 16:52:42 Jason.Liao(271095962) 16:53:26 数字平台谢*(2820725526) 16:53:28 Jason.Liao(271095962) 16:53:42 数字平台谢*(2820725526) 16:54:40 Jason.Liao(271095962) 16:55:21 数字平台谢*(2820725526) 16:55:52 Jason.Liao(271095962) 16:56:07 数字平台谢*(2820725526) 16:56:22 数字平台谢*(2820725526) 16:57:01 Jason.Liao(271095962) 16:57:03 数字平台谢*(2820725526) 16:57:23 数字平台谢*(2820725526) 17:00:10 |
关于MongoDB的安装数字平台谢* 对比一下,MySQL 的安装程序通俗水平就很高,也很美观。这才是一个商业软件公司的样子(虽然不太算商业软件) 所以后面我们大规模推广 mongodb 的话,弄不好还要我们自己动手写一个完整的 mongodb 安装程序。 苏州方* 2018/5/4 18:10:56 数字平台谢* 2018/5/4 18:11:45 任* |
dp3是数字平台第三代图书馆系统,继续坚持开源思想。
dp3初创人员
谢老师顾问,任**初期开发主管,公司开发人员(包括兼职),合作伙伴开发人员和测试人员,编目专家。
协作开发流程
各位开发者Fork dp3,编写代码,提交PR,初期暂时由任**合并。
https://github.com/DigitalPlatform/chord/wiki/Github%e5%8d%8f%e4%bd%9c%e5%bc%80%e5%8f%91
服务器模块
包括数据库底层和系统接口。
服务器模块用.NET Core开发,支持跨平台
数据库选用MongoDB。
MARC存储采用中间格式,同时保存原来的unimarc或usmarc。
服务器模块出来,用一个简单的工具把dp2系统的数据导入导出。
服务器模块是dp3的基础核心模块,优先开发。
希望在五一期间,把程序框架搭起来。
先建一个.NET Core访问MongoDB的实验程序
阅读分析模块
在新服务器模块的基础上,实现读者借阅统计报告。
dp3 开发进程到阅读分析模块出来以后,其实阅读分析的报表不是全部,应该还包含现在内务的报表模块的所有报表。而且这个阅读分析和报表模块应该是能在阿里云服务器上独立自动运行的,到时候就可以省掉人工去创建和上传报表的操作了。
红小老师提出,增加图书类型的借阅排行
The text was updated successfully, but these errors were encountered: