数据库设计 - 批准工作流程和版本创建

时间:2012-12-09 09:14:05

标签: database-design

在出版图书的过程中,我需要帮助设计用于管理图书版本的数据库。

三种权利/用户类型 - 作者,审稿人,证明阅读器图书通过以下步骤从创建到批准状态,创建,审核,校对和准备发布。

创建的每本书都必须经历以下状态: 的吃水: 每本新书都是由作者创建的状态草稿。用户完成更改后,可以将其转换为“需要审核”状态。

需要审核 现在这本书将供用户查看 - 需要评论。 本书可以“已批准”或可以发回给创作者“需要修改”

如果'需要修改':应创建新版本并将其发送给作者进行修改,原始图书应归档 一旦更新了书籍并且用户将其发送以供审阅,则状态应设置为“书籍需要修改” 本书应该再次经历整个审批周期

如果已批准: - 状态应更改为“Ready for Proofreading Review” - 有权进行校对审核的用户可以使用本书

应为校对员提供修改图书的权限。

校对员会在适用的情况下进行更改,并会将本书发送给审核人员进行审核

如果审核人批准本书,则应“准备发布”

审核人可以将其重新发送给版权所有者进行copyedit更改,状态为“需要 * ProofReading * 更改< / strong>“

如果设置为“需要ProofReading Changes”,应用程序应归档当前版本,创建新版本并将其设置为当前,应该进入校对队列。

1 个答案:

答案 0 :(得分:1)

对于本书,您可以考虑使用Subversion或Git等源代码控制系统。这样,将保存对书籍的任何修改。您将能够重新创建该书的任何版本。修改本身将作为历史记录提供。

其余信息是状态指标。您将使用state transition table表示州。状态转换表是finite state machine的一部分。

根据您的描述,我认为这些是图书可以拥有的状态转换。

Draft -> Needs Review
Needs Modification -> Needs Review
Needs Review -> Needs Modification
Needs Review -> Approved

Approved -> Proofreading review
Proofreading review -> Reviewer review
Reviewer review -> Proofreading review
Reviewer review -> Publish book