search
HomeSystem TutorialLINUX(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!

Statement
This article is reproduced at:ITcool. If there is any infringement, please contact admin@php.cn delete
Top 5 Linux Tools for Monitoring Disk I/O PerformanceTop 5 Linux Tools for Monitoring Disk I/O PerformanceApr 27, 2025 pm 04:45 PM

This guide explores essential Linux tools for monitoring and troubleshooting disk I/O performance, a crucial metric impacting server speed and application responsiveness. Disk I/O performance directly affects how quickly data is read from and written

4 Ways to Find Plugged USB Device Name in Linux4 Ways to Find Plugged USB Device Name in LinuxApr 27, 2025 pm 04:44 PM

For new Linux users, identifying connected devices is crucial, especially USB drives. This guide provides several command-line methods to determine a USB device's name, essential for tasks like formatting. While USB drives often auto-mount (e.g., /

How to Fix 'No Space Left on Device” on Root (/) PartitionHow to Fix 'No Space Left on Device” on Root (/) PartitionApr 27, 2025 pm 04:43 PM

One of the most common problems with Linux systems, especially those with limited disk space, is the exhaustion of root partition (/) space. When this problem occurs, you may encounter the following error: No space left on device Don’t panic! This just means that your root directory (/partition) is full, which is a common problem, especially on systems with limited disk space or servers running 24/7. When this happens, you may encounter the following problems: The package cannot be installed or upgraded. System startup failed. The service cannot be started. Unable to write to logs or temporary files. This article walks you through practical steps to identify problems, clean up space safely, and prevent them from happening again. These instructions are suitable for beginners

Top 16 Notepad   Replacements for Linux in 2025Top 16 Notepad Replacements for Linux in 2025Apr 27, 2025 pm 04:42 PM

This article explores top-notch Notepad alternatives for Linux users. Notepad , while excellent on Windows, lacks a Linux version. This guide offers a diverse range of options to suit various needs and preferences. Top Notepad Alternatives for

How to Create and Run New Service Units in SystemdHow to Create and Run New Service Units in SystemdApr 27, 2025 pm 04:41 PM

Several days ago, I encountered a 32-bit CentOS 8 distribution and decided to test it on an older 32-bit system. Post-boot, I discovered a network connectivity issue; the connection would drop, requiring manual restoration after each reboot. This pr

How to Check for Bad Sectors on a Hard Disk in LinuxHow to Check for Bad Sectors on a Hard Disk in LinuxApr 27, 2025 pm 04:40 PM

Let's clarify what constitutes a bad sector or bad block: it's a portion of a hard drive or flash memory that's become unreadable or unwritable, typically due to physical damage to the disk surface or malfunctioning flash memory transistors. Accumul

How to Force cp Command to Overwrite Files Without PromptHow to Force cp Command to Overwrite Files Without PromptApr 27, 2025 pm 04:39 PM

The cp command, short for "copy," is a fundamental tool in Linux and other Unix-like systems for duplicating files and directories. While efficient for local file transfers, for network-based copies, scp (secure copy) is preferred due to i

Fix 'rm: Cannot Remove File – Device or Resource Busy” ErrorFix 'rm: Cannot Remove File – Device or Resource Busy” ErrorApr 27, 2025 pm 04:38 PM

When using the rm command to delete a file or directory in Linux system, if you encounter the following error: rm: cannot remove 'file-or-directory': Device or resource busy Don't worry, this is a common problem, which means that the file or directory you are trying to delete is currently being used by the system or running process. Cause of error The "Device or Resource Busy" message indicates that the file or directory is in use. To avoid damaging the system or causing data loss, Linux prevents deleting files in use. Common reasons include: Your terminal is currently in the directory you want to delete. The program or process is using the file or directory.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.