关于发布服务以笔记本为单位进行权限控制的前端设计探讨

首先感谢 Zuoqiu-Yingyi 大佬以及 D 大 V 大的贡献,实现了我一年半前的设想( 建议增加只读端口 )。

自发布服务 6 月份上线以来,关于对不同内容进行权限控制的呼声很高,但目前该功能还未进入开发计划。

既然可以针对不同的端口分别设置只读和可编辑权限,那么分别设置公开和私密权限理论上也是可行的。相关的难点之一,可能就是前端如何设计,我这里有一点思路,先看图:

可编辑状态 6806 端口的目录 只读发布服务 6808 端口的目录
image.png image.png
  • 首先,公开权限的设置是以笔记本为单位的,没必要细化到单篇笔记,因为太精细的话一来不好开发,二来用户也不方便管理。
  • 然后,在前端页面,公开笔记本始终排在私密笔记本之上,仅用一条分隔线隔开。这样做的好处,一是用户看着很直观,哪些公开、哪些私密一目了然;二是这样设计,用户除了可以通过右键菜单来修改权限外,还可以直接通过鼠标拖动的方式来调节权限;三是和发布服务的页面保持一致,最上面显示的都是公开笔记本;四是在可编辑状态下,目录从上到下依次是公开笔记本、私密笔记本、已关闭笔记本,越靠上,开放程度越高,给用户一种层层递进的感觉,而且越是私密的内容,越不希望显示在最上面,这也是符合逻辑的。
  • 注意,公开笔记本和私密笔记本属于同一小窗口,共用同一竖向滚动条。对于这一点,我简单地录了个视频,如下。

说完前端,再谈一点点后端。私密笔记本在发布服务的 6808 端口下,除了在目录中屏蔽外,还应该在搜索中屏蔽。至于公开笔记本中可能存在与私密笔记本有关的链接、嵌入块等内容,可以简单粗暴地处理为不予跳转和预览。

Q:为什么不用多个工作空间?
A:维护多个工作空间会分散用户的精力,明明可以用一个工作空间就能搞定的事,为什么要用多个工作空间呢?另外是对于手机用户,APP 不能多开,切换工作空间这一操作简直就是灾难。

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    25295 引用 • 104414 回帖
3 操作
openAI 在 2024-12-01 17:08:35 更新了该帖
openAI 在 2024-12-01 11:39:27 更新了该帖
openAI 在 2024-11-30 10:15:19 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • wilsons 1 赞同

    这样反而实现起来麻烦,不如新建笔记时指定公开或私密,或者默认私密,可在笔记属性里修改为公开。

    然后公开的可以加个公开的标识符。

    排序的话,可增加是否按公开/私密排序。

    1 回复
  • openAI 1 评论 via Android

    这样反而实现起来麻烦,不如新建笔记时指定公开或私密,或者默认私密,可在笔记属性里修改为公开。

    我正文里也说了,可以在笔记本的右键菜单中修改权限。并不是一定要实现鼠标拖动的方式来修改。

    然后公开的可以加个公开的标识符。

    有点担心这样会导致标识符滥用,权限控制要表示符,那以后有了新功能是不是也要标识符?标识符其实并不直观,比如用阴影效果代表公开,用户并不能很好地区分,还是要进入笔记本属性才能确认。就算用很直观的方式,在笔记本后面写上“公开”二字(如果是英文的话就是“public”,更长),但由于目录的宽度有限,如果笔记本名字长一点可能就显示不了。另外本来目前笔记本的 icon 就是用户可自定义的,强行征用 icon 用于表示权限可能会导致用户不满。

    排序的话,可增加是否按公开/私密排序。

    既然可以按公开/私密排序,那加一条分隔线也不是什么难事。

    有道理!不过,分割线,如果官方这样加估计会有人会反馈丑吧,标识符,其实一个小点即可,这里仅仅思路并非完全这样,有更优方案可以调整。我觉得应尽量简化方案官方被采纳的可能性才越大,如果能说服 D 大这样做的必要性可能性就更大了。
    wilsons
  • openAI via Android

    不过,分割线,如果官方这样加估计会有人会反馈丑吧

    不开启发布服务,不显示分隔线即可。或者更简单一点,用户不设置任何私密笔记本就没有分隔线。并不是每个用户都会用到发布服务。

    1 操作
    openAI 在 2024-11-30 14:36:25 更新了该回帖
  • 过两年再讨论吧 trollface

    1 回复
  • Wetoria 3 评论 via macOS

    huaji 不如期待一下 enhance 的发布模式

    期待
    openAI
    @openAI 可能要明年了,今年剩下的一个月,大概率都是折腾白板。
    Wetoria
    期待
    kobi
  • visduo via macOS

    不如自建分享服务 https://docs-share.07tb.com/

  • 如果要实现用鼠标拖动的方式来更改公开权限,可以考虑后端这样设计:

    将分割线看做一个虚拟笔记本,序号大于分隔线的,视作私密笔记本。

  • openAI via Android

    过两年再讨论吧 trollface

    行,过两年连同这个问题( 希望发布服务添加导出开关 )我再提一次。

  • 还有一个不成熟的想法。就是在分享链接时,可能面对不同的群体,需要展示不同的内容。这时候,就需要用多个端口来控制内容的展示。可以这样,假设有 n 个笔记本,m 类读者群体,那就设 m 个端口,笔记本与端口之间是 n 对 m 的映射关系。也就是说某个笔记本可以指定 0 个、1 个或多个端口,相应地,某个端口也可以对应 1 个或多个笔记本。若给笔记本指定了至少 1 个端口,则将其视为公开笔记本,否则视为私密笔记本。

  • pentong via macOS

    同样期待笔记本公开/私密设置的发布服务功能。

  • sy961010 1 赞同

    啥时候支持可以设置哪些公开发布,毕竟有些不想公开啊 😄

请输入回帖内容 ...

推荐标签 标签

  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 667 关注
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 316 关注
  • RESTful

    一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    30 引用 • 114 回帖 • 4 关注
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 342 关注
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    495 引用 • 930 回帖
  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    730 引用 • 1280 回帖 • 4 关注
  • SVN

    SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。

    29 引用 • 98 回帖 • 691 关注
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    162 引用 • 529 回帖 • 1 关注
  • 正则表达式

    正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列遵循某个句法规则的字符串。

    31 引用 • 94 回帖
  • Bug

    Bug 本意是指臭虫、缺陷、损坏、犯贫、窃听器、小虫等。现在人们把在程序中一些缺陷或问题统称为 bug(漏洞)。

    76 引用 • 1742 回帖 • 1 关注
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    948 引用 • 1460 回帖
  • 小说

    小说是以刻画人物形象为中心,通过完整的故事情节和环境描写来反映社会生活的文学体裁。

    32 引用 • 108 回帖
  • HTML

    HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。

    108 引用 • 295 回帖
  • RYMCU

    RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。

    4 引用 • 6 回帖 • 56 关注
  • etcd

    etcd 是一个分布式、高可用的 key-value 数据存储,专门用于在分布式系统中保存关键数据。

    6 引用 • 26 回帖 • 544 关注
  • IBM

    IBM(国际商业机器公司)或万国商业机器公司,简称 IBM(International Business Machines Corporation),总公司在纽约州阿蒙克市。1911 年托马斯·沃森创立于美国,是全球最大的信息技术和业务解决方案公司,拥有全球雇员 30 多万人,业务遍及 160 多个国家和地区。

    17 引用 • 53 回帖 • 144 关注
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    693 引用 • 537 回帖
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 399 关注
  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 548 关注
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 726 关注
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖 • 2 关注
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    498 引用 • 1395 回帖 • 249 关注
  • Pipe

    Pipe 是一款小而美的开源博客平台。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    133 引用 • 1124 回帖 • 114 关注
  • 创业

    你比 99% 的人都优秀么?

    82 引用 • 1395 回帖
  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    117 引用 • 99 回帖 • 205 关注
  • jQuery

    jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。全球约有 28% 的网站使用 jQuery,是非常受欢迎的 JavaScript 库。

    63 引用 • 134 回帖 • 734 关注
  • 阿里云

    阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。

    84 引用 • 324 回帖 • 1 关注