社区缺陷报告与功能建议

本贴最后更新于 614 天前,其中的信息可能已经天翻地覆

社区系统可能存在一些潜在的缺陷,大家如果有空的话可以帮助我们一起解决。

报告缺陷

如果你在使用社区时发现了如下类型的问题,请回帖进行反馈,并附上 bug 截图以及操作步骤:

功能建议

欢迎对社区提出功能特性方面的建议,我们一起讨论,如果有可能我们会尽快实现。

在提功能建议前可以先看一下计划表,避免重复提议。

积分奖励

  • Bug

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

    71 引用 • 1698 回帖
  • 链滴

    链滴是一个记录生活的地方。

    记录生活,连接点滴

    49 引用 • 3135 回帖
  • 系统公告

    B3log 社区相关的重要公告,比如新特性上线,运营策略调整等。

    39 引用 • 3451 回帖 • 671 关注
  • 使用指南

    链滴用户指南系列帖,社区功能可在此逐一了解,欢迎讨论。

    42 引用 • 2743 回帖 • 17 关注
1 操作
88250 在 2019-11-23 11:24:53 更新了该帖

广告 我要投放

优质回帖
  • csfwff 2
    捐赠者


    solo 3.6.4,编辑器表情有重复的

  • PeterChu 1 1 赞同

    😄 good,也是啊,那应该给下面加个分割线啥的以示区分

  • InkDP 2
    捐赠者
    该回帖仅作者和楼主可见

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 88250
    订阅者 作者

    Solo 和 Pipe 的定位是 B3log 分布式社区的博客端节点,并不是通常意义上的独立博客,所以账号体系需要进行统一,否则带来的问题会很多,这也是一路下来探索的,具体经历细节请看这里

    你提到的解决方案在 Solo v3 之前一直就是这样做的,经过长时间验证效果并不理想:

    • 不方便,用户需要在社区端和博客端配置账号关联关系
    • 不安全,账号的关联关系需要双向验证,如果不验证账号归属,会被冒名

    这两个问题是矛盾的,所以为了解决它需要将账号在 B3log 网络中进行唯一化。一开始的设计方案是通过公私钥(类似区块链的钱包原理),但这个方案在现阶段过于复杂,用户使用门槛有点高所以暂时放弃了。公私钥的方案在星火项目里进行过测试验证,技术上应该没问题,以后鱼塘项目可能会采用这个方案。

    所以再次重申一下,Solo 和 Pipe 是 B3log 分布式社区的博客端节点。举个最容易理解的例子,这就好比某些厂商的软件,没有这个厂商的账号是用不了的。打通其他网络的方案是在博客端或者社区端接入其他网络的账号,目前已经在黑客派上接入 GitHub 登录(可在账号设置中绑定),Solo 可通过 GitHub token 来将文章同步到自己的仓库,避免整个 B3log 网络过度封闭内卷。

    最后,希望目前加入到 B3log 的用户是认可这个设计的,如果不认可的话其实就没必要加入使用了,节省自己时间同时也能保护 B3log。当然,不排除以后设计还会有所变化,欢迎参与思考讨论,谢谢。

    1 回复
  • 其他回帖
  • HaujetZhao 1
    支持者 订阅者

    早晨安上了 solo,不过这个登陆感觉怪怪的呀,只有用 hacpai 登陆上才能管理,在登出且无法连接(如断开网络)到 hapcpai 时,就无法登陆管理了。

    本想推荐给一些人用下 solo 的,只是这样的绑定账号体系、这种本地博客却没有完全权限的感觉可能不会让他们喜欢。

    我看原因是为了解决和社区同步的问题。但总觉得这种“不加入社区就无法使用博客”的后台登陆机制,不是个好的措施。

    如果 B3log 要成功的话,一个博客加入的不会只是一个 Hacpai 社区,只能用 Hacpai 账号登陆,就不大合适了。

    希望这个方式是临时所做的妥协,而不是永久的策略。

    用户名重名以及社区同步内容时账号对应关系复杂混乱,这个问题应该是通过归属来实现,即在同步评论、文章时,对于用户名,不应该完全一致地同步过去,对于不是社区的用户,应加以归属。

    例如:

    • hacpai.com 中进行评论的用户名“JackalZhao”,同步到博客评论中显示时,应转为“JackalZhao_from_hacpai.com”,
    • 用户还可能将博客也同步到了另一个社区 xxxx.com ,在 xxxx.com 中进行评论的用户名“Lover”,同步到博客评论中显示时,应转为“Lover_from_xxxx.com”,同步到 hacpai 中显示评论时,显示“Lover_from_xxxx.com”
    • 而在黑客派社区中用“JackalZhao”评论时,而在博客中评论的用户“MiaoMiao”,同步到博客中显示时,就转为“MiaoMiao_from_blog”。这样,不仅解决了重名问题,也能一眼知道是从哪里得到的评论。

    而且,以后,有多个不同社区鱼塘时,我们也需要一种方法,得知哪一个评论来自哪一个社区。

    上述解决方法当然只是抛砖引玉,也希望能探索出更好的方法。

    只能用需要联网的社区账号登陆一个本地博客,真的很怪异,不只是方便不方便的问题,这就像是自己手里的 linux 机器有 root 权限和没有 root 权限的区别一样,手里没有 root ,就空空的,没有安全感。

    2 回复
    2 操作
    HaujetZhao 在 2020-05-29 08:35:45 更新了该回帖
    HaujetZhao 在 2020-05-29 08:33:54 更新了该回帖
  • PeterChu 1

    🤔 关于 solo 博客端的用户交互设计问题的思考

    1. solo 中博客交互可插拔插件式设计
      现在在单独的 solo 博客中,除了回复功能可以交互外没有其他类似于社区的点赞,感谢,收藏,主要交互功能。我想既然可以实现回复且回复可支持社区积分的统计,那么是否可以实现其他几个社区交互功能,然后把这些功能打包成为一个插件,在 solo 中可以自由开关,对于社区用户在浏览其他用户 solo 端时,该插件可采取类似于手机上功能悬浮气泡,无操作时保持半透明状。对于非社区用户可实现关闭,或注册登录,如此即可使每一个单独的 solo 博客成为社区引流邀新的桥头堡,(可将邀新奖励机制同时关联到 solo 主)。博客交互功能安装该博客是否推送社区分为两种情况储存数据,推送了则保存数据到社区服务器。
      其实,这是我在浏览其他用户的 solo 博客时,对于一些优质文章想要进行收藏时发现没有什么好的办法,难道只能保存到浏览器收藏夹?Chrome 收藏夹要破 10mb 啊 😭
    2. 这条刚才想着要说啥,忘了。那就说说如此设计的优缺点。优点,增加 solo 博客用户体验,对于浏览者来说。增加 solo 作者的体验。增加 solo 及社区的整体联动性,同时可插拔保持 solo 端自由轻便。增加社区推广机会,增加社区邀新机会。现阶段社区优质内容不充足,可通过整合将 solo 端优质但未同步社区的文章链接推广到社区。(emmm...这里也添加个开关?solo 用户自定义是否聚合到社区。这样将社区与 solo 作为整体看待 wulian 感觉和以往各博客平台,内容运营平台方向正好相反啊会不会死的惨惨的)……缺点,solo 变胖。实现复杂。可能效果不佳有风险。增加社区服务器负重。增加 solo 端使用成本。获取新用户质量下降。可能给竞品递了刀子,为他人作嫁衣。
      根据 SWOT 分析法,此处应有机会,威胁分析。(可是我编不下去了wulian
    1 回复
  • xjtushilei

    @88250 写帖子的时候,不能从 vscode 中有效的粘贴的 md 文档中的代码。复制过来是

    
     
    
            <dependency>
    
                <groupId>org.springframework.bootgroupId>
    
                <artifactId>spring-boot-devtoolsartifactId>
    
                <optional>trueoptional>
    
            dependency>
    
    

    样子。

    我用 sublime 打开,可以直接复制过来。,如下:

     <!--devtools可以实现页面热部署(即页面修改后会立即生效,这个可以直接在application.properties文件中配置spring.thymeleaf.cache=false来实现),
                       实现类文件热部署(类文件修改后不会立即生效),实现对属性文件的热部署。
                       即devtools会监听classpath下的文件变动,并且会立即重启应用(发生在保存时机),注意:因为其采用的虚拟机机制,该项重启是很快的
                    -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
                <optional>true</optional><!-- optional=true,依赖不会传递,该项目依赖devtools;之后依赖myboot项目的项目如果想要使用devtools,需要重新引入 -->
            </dependency>
    

    不知道哪里的 bug

    1 回复
  • 查看全部回帖