定制 random-cuber/contextmenu_folder 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

random-cuber/contextmenu_folder

Composer 安装命令:

composer require random-cuber/contextmenu_folder

包简介

Adds context menus with mailbox operations

README 文档

README

Technical plugin name is contextmenu_folder.

Folder list context menu Folder list control menu Message list context menu

This plugin can be useful for users who want to work efficiently with large number of mailboxes or imap folders (anywhere form few hundred to few thousand folders).

Plugin contextmenu_folder provides context menus for the following folder operations:

  • create/delete/rename/locate mailbox imap folder
  • apply mailbox tree view filters, grouped in categories: [active, favorite]
  • where each category uses filter selectors from: [unread, special, selected, transient, predefined]

Filter selectors support these features:

  • unread : this filter finds mailboxes with unread messages
  • special : will include special imap folders: [inbox, drafts, sent, junk, trash]
  • selected : represents folder collection which can be selected/unselected into by the user
  • transient : based on automatic folder collection, which tracks created/deleted/renamed mailboxes
  • predefined : static user-defined list of mailbox folders, which is more "permanent" then selected

Dependencies

Plugin contextmenu_folder requires few other plugins:

Manual Install

Installation can be done in two steps: providing resources and activating configuration.

  1. Provision plugin resources. For example, for roundcube on archlinux:
cd /usr/share/webapps/roundcubemail/plugins

rm -r -f contextmenu
git clone https://github.com/random-cuber/contextmenu.git contextmenu

rm -r -f contextmenu_folder
git clone https://github.com/random-cuber/contextmenu_folder.git contextmenu_folder
  1. Activate plugin in roundcube configuration. For example, for roundcube on archlinux:
cat /etc/webapps/roundcubemail/config/config.inc.php

$config['plugins'] = array(
    'jqueryui',           // dependency
    'contextmenu',        // dependency
    'contextmenu_folder', // plugin proper
);

Settings

Navigate to:

Settings -> Preferences -> Mailbox View -> Folder Menu

Menu entries:

  • TODO : TODO

Available features are described in plugin default config.

Operation

  1. Folder list context menu:

Navigate to:

Mail -> [Mailbox list] -> [Access context menu]

Menu entries:

  • Select folder : append given mailbox to the selected collection
  • Unselect folder : remove given mailbox from the selected collection
  • Create folder : create new sub folder using given mailbox as a parent
  • Delete folder : completely remove given folder and its messages
  • Rename folder : change mailbox name, keep existing messages in new folder
  • Folder tree read : mark all read in the given folder and all of the descendants
  1. Folder list control menu:

Navigate to:

Mail -> [Mailbox list] -> [Click footer button]

Menu entries:

  • Show all : remove all filters and display all available mailboxes
  • Show active : apply mailbox filters form active category (see settings)
  • Show favorite : apply mailbox filters form favorite category (see settings)
  • Reset selected : remove all mailboxes form the selected collection
  • Reset transient : remove all mailboxes form the transient collection
  • Expand all : expand all mailboxes in the current view
  • Collapse all : collapse all mailboxes in the current view
  • Locate folder : present a search dialog to find a mailbox via simple name match

Note that footer button will change appearance to reflect all/active/favorite view.

  1. Message list context menu:

Navigate to:

Mail -> [Message list] -> [Access context menu]

Menu entries:

  • Create folder : create imap folder based on company/contact name derived from email headers
  • Copy to folder : copy selected mailbox messages to a folder located by quick folder name search
  • Move to folder : move selected mailbox messages to a folder located by quick folder name search

Translation

Contribute to translation via transifex.

random-cuber/contextmenu_folder 适用场景与选型建议

random-cuber/contextmenu_folder 是一款 基于 JavaScript 开发的 Composer 扩展包,目前已累计 2.91k 次下载、GitHub Stars 达 9, 最近一次更新时间为 2020 年 08 月 13 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「menu」 「Context」 「view」 「filter」 「delete」 「folder」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 random-cuber/contextmenu_folder 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 random-cuber/contextmenu_folder 我们能提供哪些服务?
定制开发 / 二次开发

基于 random-cuber/contextmenu_folder 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 2.91k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 10
  • 点击次数: 19
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 9
  • Watchers: 4
  • Forks: 8
  • 开发语言: JavaScript

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2020-08-13