Features Recommended

Have a suggestion for "Everything"? Please post it here.
Post Reply
zsh2708
Posts: 13
Joined: Thu Mar 22, 2018 1:14 am

Features Recommended

Post by zsh2708 »

I. Allow Using Existing Database Retrieval with Background Synchronized Scanning Before New Network Drive Scanning Completes
**Core Requirements**:
- **Seamless Transition**: Users should be able to immediately utilize existing data after adding a new network drive without waiting for full scanning.
- **Background Efficiency**: Scanning must run non-blockingly in the background while ensuring data consistency.

**Technical Implementation**:
1. **Incremental Indexing & Caching**:
- **Rapid Initial Load**: When adding a network drive, prioritize reading drive caches (e.g., Windows USN Journal or existing indexes) to quickly build a partial index, enabling immediate retrieval of existing files.
- **Background Differential Scanning**: Use low-priority threads to scan new or modified files, updating the index in real time without excessive I/O resource consumption.
2. **Conflict Handling**:
- **Versioned Indexing**: Tag data sources as "old" or "new," merging indexes after scanning and auto-overwriting outdated entries.
- **User Notifications**: Label "Scanning in Progress" in the UI and provide a manual refresh option.

**Challenges**:
- Balancing scanning performance impact, especially for large-capacity network drives.
- Ensuring data consistency during synchronization of file changes (e.g., deletions/modifications).

---

II. UI-Based Control for New Instances
**Core Requirements**:
- **Centralized Management**: Enable users to manage multiple Everything instances via a graphical interface.
- **Instance Isolation**: Separate instances for different search scenarios (e.g., local vs. network searches).

**Technical Implementation**:
1. **Instance Management Panel**:
- Add an "Instance Management" tab in settings, displaying running instances (process IDs, config paths).
- Include "Launch New Instance" and "Terminate Instance" buttons, supporting custom names and configurations.
2. **Inter-Process Communication (IPC)**:
- Use IPC or named pipes to coordinate resource access (e.g., prevent duplicate indexing of directories).
- Allow read-only index sharing between instances to reduce memory usage.


---

III. Add FTP Delete Option, Disabled by Default and User-Configurable
**Core Requirements**:
- **Functional Completeness**: Support full FTP file operations (including delete) while mitigating accidental deletion risks.
- **Permission Control**: Ensure secure deletion and prevent unauthorized access.

**Technical Implementation**:
1. **Permission Hierarchy**:
- Add an "Allow Delete Operations" checkbox in FTP server settings (default: disabled).
- Configure granular permissions per user/group (e.g., read-only, read-write).
2. **Audit Logging**:
- Log FTP deletion events (time, user, file path) for administrator review.
- Optional: Require confirmation pop-ups or specific commands (e.g., `DELE`) to trigger deletions.
therube
Posts: 5188
Joined: Thu Sep 03, 2009 6:48 pm

Re: Features Recommended

Post by therube »

Are you using 1.4 or 1.5 Alpha?
Some of what you want may ? already be in 1.5?
zsh2708
Posts: 13
Joined: Thu Mar 22, 2018 1:14 am

Re: Features Recommended

Post by zsh2708 »

Version V1.5.0.1391a (x64)
zsh2708
Posts: 13
Joined: Thu Mar 22, 2018 1:14 am

Re: Features Recommended

Post by zsh2708 »

Version 1.5.0.1391a (x64)
NotNull
Posts: 5769
Joined: Wed May 24, 2017 9:22 pm

Re: Features Recommended

Post by NotNull »

That took a lot of thought and work to describe, @zsh2708. Thank you!
A couple of remarks:

After the initial scan of a volume or folder, Everything 1.5 will update in the background (status/progress will be shown in the statusbar).
But the initial scan needs to be completed first before results can be shown. This is due to the way the database is organized (and that will not change any time soon as that is part of the reason why Everything is as fast as it is)


When adding a network drive, prioritize reading drive caches (e.g., Windows USN Journal or existing indexes)
Applications -- including Everything -- can not read the USN Journal of a remote network location (assuming this even uses the NTFS filesystem)


Use low-priority threads to scan new or modified files, updating the index in real time without excessive I/O resource consumption.
Everything is already quite efficient when updating its indexes. The exceptions are content- and property-indexing as each individual file has to be opened and read for that. And that will use resources.

Luckily, Everything has several ways to throttle by limiting the amount of threads used.
It is beyond scope to go in detail here, but a couple of pointers:
- In Options, select a network drive or a NTFS volume, right-click => Advanced and configure the amount of threads used
- Opotion => Advanced, serach for "threads" for even more settings. Explanations are in INI settings


Inter-Process Communication (IPC):
Use IPC or named pipes to coordinate resource access (e.g., prevent duplicate indexing of directories).
Allow read-only index sharing between instances to reduce memory usage.
Take a look at the ETP Server options ore its successor: Everything Server.
ETP is basically an FTP Server with some Everything specific extensions
(btw: named pipes is a form of IPC)
zsh2708
Posts: 13
Joined: Thu Mar 22, 2018 1:14 am

Re: Features Recommended

Post by zsh2708 »

应用程序——包括一切——不能读取远程网络位置的美国海军日志(假设它甚至使用Windows NT文件系统(NT File System)文件系统)

是否能够分步执行,对于可读写美国海军驱动器优先显示,网络驱动器索引完再显示。在状态区提示 哪些驱动器扫描中。
Post Reply