


(Live broadcast preview) How many steps does a programmer take to counterattack the CEO? library system
[Live broadcast preview] How many steps can a programmer take to counterattack the CEO?
DocHub library system is a library solution developed and implemented using the Beego framework of Go language. It is open sourced using the business-friendly Apache2.0 open source contract and supports office documents, PDF documents, TXT, EPUB, MOBI and other document formats. for online reading and browsing.
Upgrade Log
1.OSS storage code encapsulation optimization
2. Redesign the login page, the previous login page was really ugly
3. Optimization of default images such as user avatars and document covers
When loading images, use onerrorlinux qq directly on the backend. It no longer queries the front-end whether the image exists in OSS and returns the default image when it does not exist, which is convenient to save OSS request resources. Therefore, now the deployment program does not need to Upload the default image to OSS, and then configure the address of the default image in the configuration file
4. Configuration file optimization
All related configuration items are placed in the app.conf file for the convenience of configuration.
Detailed configuration instructions are added to each item in the configuration file. The app.conf file is placed in the conf directory. The file app.conf.example is Open Source Library System. Just remove the .example extension
5. Support for online browsing of documents in mobi, epub, chm, txt and other formats
Currently, the document formats supported by DocHub library for online reading are as follows:
Word document: doc, docx, rtf, wps, odt
Excel documents: ppt, pptx, pps, ppsx, dpslinux tutorial, odp, pot
PPT document: xls, xlsxOpen source library system, et, ods
PDF document: pdf
Other documents: txt, epub, mobi, chm
Umd format documents do not currently support online reading. Online reading of chm format documents is not very effective, and the order of document content will be disordered.
I believe that the DocHub library system supports more document formats than some paid library systems on the Internet.
I have received suggestions from netizens, suggesting that onlyoffice, Collabora, flashpaper, pdf.js, etc. be used to realize online document reading.
Brainstorming, thank you very much for your active opinions and suggestions.
After that, I also tried and tested it seriously. Take onlyoffice as an example. I played around with it under docker (my dockerhub:). Every time I converted the document, it took too much server resources. However, users can directly get the downloaded document. I believe this is something many webmasters don’t want to do. seen.
But users need to load the entire document to read it, which also consumes bandwidth resources. Sina iAsk shares information using pictures as a solution for online document reading. I believe they also have this consideration in mind, so we follow the lead.
6. Solve the problem of emails not being sent
Unified use of SMTP to send text messages and support for sending TLS/SSL emails. Used library
Some netizens reported in the group that the email could not be sent... because no one helped me test it. Now I develop my own test. Basically, if I pass the test and there is no problem, I will default to this function and there will be no problem. There are many scenarios. Maybe I haven't considered it, so I still can't detect some problems myself, and I don't treat you as guinea pigs...
7. Document reading page performance optimization
For the previous document reading page, the more pages the document is turned, the page will become more and more stuck until it gets stuck (a huge bug)...
This is caused by the back-end js repeatedly estimating the svg of the document. For example, when I turn to page 100, every time I scroll the keyboard, it triggers more than 3,000 estimates of the svg image position, which is convenient for determining the user's current reading. Which page is reached, and which page’s lazy loading is triggered...
8. Document preview page limit
You can limit the maximum number of document preview pages in the management background->System Settings->.
The purpose of this is that if a 300-page document only provides 100 pages for users to read, it can reduce the resource expenditure of converting the 200-page document to SVG after the PDF on the server front-end.
Not providing full documents of large documents for users to read, this can not only save server resources, but also encourage users to use points to download documents... This is how Sina iAsk shares information...
Installation and Deployment Tutorial
Currently, I have only written the installation and deployment tutorial for docker. The deployment tutorial address is:
DocHub library system is not perfect at present. China Unicom WAP site and Momo applet have not yet been developed. However, I am working hard!
Demo site
address:
Management background:
The administrator account password is admin
The login verification code is: Open Sesame
Source code hosting
GitHub:
Gitee:
The above is the detailed content of (Live broadcast preview) How many steps does a programmer take to counterattack the CEO? library system. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



The library used for floating-point number operation in Go language introduces how to ensure the accuracy is...

Queue threading problem in Go crawler Colly explores the problem of using the Colly crawler library in Go language, developers often encounter problems with threads and request queues. �...

The problem of using RedisStream to implement message queues in Go language is using Go language and Redis...

The difference between string printing in Go language: The difference in the effect of using Println and string() functions is in Go...

What should I do if the custom structure labels in GoLand are not displayed? When using GoLand for Go language development, many developers will encounter custom structure tags...

Two ways to define structures in Go language: the difference between var and type keywords. When defining structures, Go language often sees two different ways of writing: First...

Which libraries in Go are developed by large companies or well-known open source projects? When programming in Go, developers often encounter some common needs, ...

Go pointer syntax and addressing problems in the use of viper library When programming in Go language, it is crucial to understand the syntax and usage of pointers, especially in...
