DocHub v2.4 release, like Baidu library solutions, as well as the reconstruction plan

DocHub library system is a class library Baidu solution uses language Go Beego framework to achieve development, the use of open-source business-friendly Apache2.0 open source protocol, support office (all types), PDF, TXT, EPUB, MOBI and other documents read browse the online format.

The upgrade log

  • Repair group by titlequery document lists issues failed: https://stackoverflow.com/questions/34115174/error-related-to-only-full-group-by-when-executing-a-query-in-mysql
  • Navigation bar logo case when the cause can not be selected issues highlighted
  • Repair the previous version adds virtual directory cause of the problem sitemap can not be found
  • Breadcrumb navigation links are not the right questions
  • Document upload process temporary file name appear the same name issue
  • Background configuration problems foreground record number can not be displayed (do not know what time to write died in the template)
  • If allowed to upload duplicate documents (management background -> System Settings set)
  • 2:00 am every day automatically update the site map (sitemap)

Related Links

Source Repository

download link

https://gitee.com/truthhun/DocHub/releases

Documents Address

https://www.bookstack.cn/books/dochub

Demo site

Library House: https://www.wenkuzhijia.cn

Mobile terminal and PC terminal can directly point to open access, mobile phone users will automatically show a mobile version.

Reconstruction plan

DocHub project was relatively high in the clouds and star GitHub code received, it is because most people hit the project's needs, and front page design is relatively simple and good-looking, and the user experience is also acceptable.

But the truth is that the code is written in Java, this really is not self-deprecating. Although I have made great efforts to optimize, but a reasonable database design and non-standard code writing, leading to subsequent extensions and code maintenance difficult.

So, I decided to overthrow the entire project to reconstruct. Existing branch will continue to maintain and repair Bug, but will not add new features. Will be reconstructed on the new branch, for incompatibility issues, will be a migration tool to help migrate from an older version to the new version of the reconstruction up.

Services Architecture

Full service architecture diagram below, according to the amount of one million IP access to the design.

DocHub v2.4 release, conventional upgrade - 1

HD Photo see here: https://www.processon.com/view/link/5b29103ae4b0d4a19d7c67f1

  1. The front and rear ends DocHub completely separate aspect, a set of API interface, for APP PC and distal ends and a mobile use applets
  2. Document conversion service server resources consuming, computationally intensive part of the function into a separate document conversion service moredoc(i.e. 魔刀), so as to be independently deployed on another server
  3. CloudStoreMediation is a cloud storage service, support will store documents and other data files to the major cloud storage.

moredoc (Tin document conversion services)

DocHub v2.4 release, upgrade conventional - 2

HD Photo see here: https://www.processon.com/view/link/5cd63503e4b0bab9097b9ef2

moredocConversion principle and technical configuration, as shown in FIG.

The service will support all office document types and document types such as epub into pictures that can be displayed on the front page to provide users to read.

Existing dochublibrary systems are currently dependent on document conversion software is basically the top of these (except pdftohtmlex).

Because this part of the software installation and deployment of, for white users and users of different systems, more complex, so the whole into moredocafter document conversion services, the whole will be packed into dockera container, moredocprovided only resetful document conversion interface to dochubmake the call.

Technology stack

DocHub v2.4 release, upgrade conventional - 3

Distal aspect mainly used Vue, taking into account the SEOneeds, with Nuxtthe use of, using the UI ElementUI.

End the use of mobile uni-appsolutions, once developed, multi-terminal distribution.

Back-end selection of Golanguage, as group of friends asked why not PHPand Python...

I also did three years PHP development, finally escape out, and trying to cheat me back, how could ... Pythonthen, the company will write the script doing the operation and maintenance, with no truly had to develop a product, this language or unskilled.

Therefore, considering the chosen language Go, Go grammar simplicity, performance and development efficiency are high, then compiled into a binary executable file, the server will be able to direct throw to run, you do not need to rely on the installation environment, simple to deploy.

Reconstruction period

I would like to develop at their own pace, as is done in the spare time to develop, so development cycle for at least six months or more.

Acknowledgments

Thank yourself by trying to produce a medal Bug cheat codes clouds and sweet potato. .

I thank the sweet potato is often thanks to the use of code and cloud gift iPad mini and King. .

If no one out of the rumor, I have said that every word is true.

 

Guess you like

Origin www.oschina.net/news/110154/dochub-2-4-released