Giter Site home page Giter Site logo

sharebetween's Introduction

HumHub - Putting People and Pieces together

Test Status Yii2 CLA assistant

HumHub is an intuitive to use and modular designed open-source software, used primarily as social network, knowledge database, intranet or information and communication platform.

The software is written in PHP and is best described by dividing into 4 main parts: User, Spaces, Content and Modules.

  • User: All users have their own customisable profile (including name, profile picture, cover photo and personal information) and can follow and interact with each other. If wished and enabled, users can create own content, comment posts and join Spaces. Profile fields, permissions and all settings can be defined individually by the network operator (administrator).

  • Spaces: Rooms or groups for any projects, departments, events or other needs. Network operators can create as many Spaces as needed and automatically map users into the desired Spaces. HumHub comes with an advanced permission and notification system (including email summaries).

  • Content: Users can create content of all kinds (posts, wiki pages, photo/video, schedule appointments, create events or tasks) depending on their permission and share it with other members in their Space. There is a multi-level comment function, versatile collaboration options and also features to report inappropriate posts and content. All Content, Spaces and Members can be easily found through various and individually definable filter and search functions, Content can be edited, deleted and archived.

  • Modules: The main software is designed in a modular way and can be extended by approximately 80 modules. These can easily be added to by installation and activation. This gives operators the possibility to set up and configure the network according to their needs and individual wishes. Among the modules are Advanced LDAP, RESTful API, Mass User Import, Calendar, Wiki, OnlyOffice, JWT SSO, Legal Tools, Translation Manager, Custom Themes and Custom Pages, Tasks, Gallery, News, Polls and Mail for Direct Messages.

With HumHub, we help people around the world to connect, stay informed, display and share content of various kinds, exchange files and communicate and collaborate with each other.

The software is responsive designed and works great on different devices, including smartphones and tablets. HumHub is available in over 30 languages and is used in over 4,500 organizations worldwide.

More information about HumHub can be found here:

sharebetween's People

Contributors

cebe avatar felli avatar gevorgmansuryan avatar luke- avatar marc-farre avatar mbumpalumpa avatar semir1212 avatar yurabakhtin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sharebetween's Issues

Current Situation of the share feature

Hey,
Just wanted to know the current status of share feature on humhub and what else need to be done. So I can contribute on this repository.
Thanks.

Add shared calendar events to destination Calendar

When sharing a calendar event from Space A to Space B the calendar event is shown in the stream of Space B, but neither in the Calendar view on Space B nor the "Upcoming events" widget.

This makes it very easy for space members to miss an event they have been invited to and prevents the calendar event from being exported in a per-space ICS.

What would be the best approach to fix this issue?

Constant `Content::EVENT_SOFT_DELETE` does not exist

humhub\modules\content\models\Content::EVENT_SOFT_DELETE used in

[Content::class, Content::EVENT_SOFT_DELETE, ['humhub\modules\sharebetween\Events', 'onContentSoftDelete']],

seems not to exist. Not in develop branch, nor in any other:
https://github.com/search?q=repo%3Ahumhub%2Fhumhub+EVENT_SOFT_DELETE&type=code

Also, would there not be the need for before and after events instead?

  • Content::EVENT_BEFORE_SOFT_DELETE
  • Content::EVENT_AFTER_SOFT_DELETE

Shared content stream entry style

image

The posts should not be visually above all other posts. They are shared, not recommended or highlighted. Highlighting them in such fashion could also conflict with future developments, which is why I would reconsider the design.

Delete shared post in target space deletes original post as well

Just tested the module and maybe I just don’t understand the logic behinde. I shared a post and deleted the shared post in the target space. Back in the space where the original had been posted, I recognised that, the original post was deleted as well. Hm? I accepted that only the shared one in the target space will be deleted without deleting the original.

Non sys admin cannot select a space if "Create post" permission is the default value

Step to reproduce:

  • Space 1: public with a public content
  • Space 2: public with "Moderator" -> "Create post" is "Default Allow"
  • User is moderator of Space 2 (but not system admin)
  • User shares a content from "Space 1": on the field "Select Spaces here..." he cannot select "Space 2"

No, in Space 2, set "Moderator" -> "Create post" to "Allow" (instead of "Default Allow").
The user can select "Space 2"

I think the reason is here: https://github.com/humhub/sharebetween/blob/master/services/ShareService.php#LL154C56-L154C56

Still not working on HH 1.2

This is reallt one of most important modules for HH and still not working.
Impossible to share in spaces or in other users´s walls.
Thanks !!

my test!

For me sharing in space doesn't seems to works...
And sharing on profile works but that share the post and transfer the comments.... !! (Crazy ^^)
I mean that the original post stay but without comments, while the shared post on profile show the original comments... And a click to comment on the original post open the comments in the shared post (on the profile) !!
That not clear??? Yep but that's what this module does !! ^^
I will keep an eyes on your work !!

Inconsistency in appearance of the "share" function

I am encountering inconsistencies as to when and where the sharing option appears

In this example the two posts where posted at the same time, one has the share the other does not
Found it! The issue is with the security adjustments of the created space

Also, I cannot seem to find the "messages" folder so as to edit the translation

Error when accepting shared calendar invitation

I've created a calendar invite in Space A, shared it to Space B and clicked Attend from the stream view in Space B.

It says An unexpected error occured in the bottom bar, with the following stack trace

TypeError: this.stream(...).reloadEntry is not a functionTypeError: this.stream(...).reloadEntry is not a function
    at StreamEntry.reload (https://demo.blechhirn.net/assets/66b66554/js/humhub.stream.StreamEntry.js?v=1706734452:90:34)
    at h.reload (:1:4272)
    at :1:4908
    at r (https://demo.blechhirn.net/assets/6291a27a/js/browser/bluebird.min.js?v=1706734451:31:10952)
    at i._settlePromiseFromHandler (https://demo.blechhirn.net/assets/6291a27a/js/browser/bluebird.min.js?v=1706734451:30:15746)
    at i._settlePromise (https://demo.blechhirn.net/assets/6291a27a/js/browser/bluebird.min.js?v=1706734451:30:16549)
    at i._settlePromise0 (https://demo.blechhirn.net/assets/6291a27a/js/browser/bluebird.min.js?v=1706734451:30:17250)
    at i._settlePromises (https://demo.blechhirn.net/assets/6291a27a/js/browser/bluebird.min.js?v=1706734451:30:18605)
    at c (https://demo.blechhirn.net/assets/6291a27a/js/browser/bluebird.min.js?v=1706734451:29:1530)
    at a (https://demo.blechhirn.net/assets/6291a27a/js/browser/bluebird.min.js?v=1706734451:29:1469)
    at r._drainQueues (https://demo.blechhirn.net/assets/6291a27a/js/browser/bluebird.min.js?v=1706734451:29:2484)
    at drainQueues (https://demo.blechhirn.net/assets/6291a27a/js/browser/bluebird.min.js?v=1706734451:29:1211)

When reloading the stream view of Space B it displays the event as marked Attending.

Enhancement: Limited shares per day

I would like to limit users who are members of group A to one share per day.

I would like to limit users who are members of group B to five shares per day

Users who are on group C can have unlimited shares.

Option to Hide Comments in Shared Content

@luke- Sorry, I was unclear. The goal is to have the possibility to hide the addons (comments, likes, ...) on the embeded content. The share itself should always have addons disabled (which is not the case actually, but I understand in you last comment that it's planned).

@samuk Am I right?

image

image

This would be the code of https://github.com/humhub/sharebetween/blob/master/widgets/views/wall-entry.php:

/** @var $disableSharedContentAddons bool */

$streamEntryOptions = new \humhub\modules\content\widgets\stream\WallStreamEntryOptions();
$streamEntryOptions->disableAddons = $disableSharedContentAddons;
?>
<?= StreamEntryWidget::renderStreamEntry($share->getContentRecord(), $streamEntryOptions); ?>

<?php if ($disableSharedContentAddons): ?>
    <?= \humhub\widgets\Button::info('View original content to comment and like') ?>
<?php endif ?>

In an ideally world, we would have a third possibility, to display addons, the comments are locked, only on the shared content:
image

But I haven't find an easy way to do this.

Originally posted by @funkycram in #17 (comment)

Options for shared content

We should consider adding additional options for shared content, e.g. to "unshare". Ideally they would not be found in the current stream entry options, as those are already quite crowded. Might be a good idea to add dedicated options for shared content only.

image

Not working

{
    "url": "/sharebetween/share?id=2694",
    "status": 500,
    "response": "<pre>PHP Warning &#039;yii\\base\\ErrorException&#039; with message &#039;The use statement with non-compound name &#039;Yii&#039; has no effect&#039; \n\nin /var/www/site/protected/modules/sharebetween/views/share/index.php:3\n\nStack trace:\n#0 /var/www/site/protected/vendor/yiisoft/yii2/base/View.php(336): yii\\base\\ErrorHandler-&gt;handleError(2, &#039;The use stateme...&#039;, &#039;/var/www/my.war...&#039;, 3, Array)\n#1 /var/www/site/protected/vendor/yiisoft/yii2/base/View.php...",
    "textStatus": "error",
    "xhr": {
        "readyState": 4,
        "responseText": "<pre>PHP Warning &#039;yii\\base\\ErrorException&#039; with message &#039;The use statement with non-compound name &#039;Yii&#039; has no effect&#039; \n\nin /var/www/site/protected/modules/sharebetween/views/share/index.php:3\n\nStack trace:\n#0 /var/www/site/protected/vendor/yiisoft/yii2/base/View.php(336): yii\\base\\ErrorHandler-&gt;handleError(2, &#039;The use stateme...&#039;, &#039;/var/www/my.war...&#039;, 3, Array)\n#1 /var/www/site/protected/vendor/yiisoft/yii2/base/View.php(336): yii\\base\\View::renderPhpFile()\n#2 /var/www/site/protected/vendor/yiisoft/yii2/base/View.php(254): yii\\base\\View-&gt;renderPhpFile(&#039;/var/www/my.war...&#039;, Array)\n#3 /var/www/site/protected/humhub/modules/ui/view/components/View.php(111): yii\\base\\View-&gt;renderFile(&#039;/var/www/my.war...&#039;, Array, Object(humhub\\modules\\sharebetween\\controllers\\ShareController))\n#4 /var/www/site/protected/vendor/yiisoft/yii2/web/Controller.php(49): humhub\\modules\\ui\\view\\components\\View-&gt;renderAjax(&#039;index&#039;, Array, Object(humhub\\modules\\sharebetween\\controllers\\ShareController))\n#5 /var/www/site/protected/modules/sharebetween/controllers/ShareController.php(37): yii\\web\\Controller-&gt;renderAjax(&#039;index&#039;, Array)\n#6 [internal function]: humhub\\modules\\sharebetween\\controllers\\ShareController-&gt;actionIndex()\n#7 /var/www/site/protected/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)\n#8 /var/www/site/protected/vendor/yiisoft/yii2/base/Controller.php(157): yii\\base\\InlineAction-&gt;runWithParams(Array)\n#9 /var/www/site/protected/vendor/yiisoft/yii2/base/Module.php(528): yii\\base\\Controller-&gt;runAction(&#039;&#039;, Array)\n#10 /var/www/site/protected/vendor/yiisoft/yii2/web/Application.php(103): yii\\base\\Module-&gt;runAction(&#039;sharebetween/sh...&#039;, Array)\n#11 /var/www/site/protected/vendor/yiisoft/yii2/base/Application.php(386): yii\\web\\Application-&gt;handleRequest(Object(humhub\\components\\Request))\n#12 /var/www/site/index.php(25): yii\\base\\Application-&gt;run()\n#13 {main}</pre>",
        "status": 500,
        "statusText": "Internal Server Error"
    },
    "dataType": "html",
    "html": "<pre>PHP Warning &#039;yii\\base\\ErrorException&#039; with message &#039;The use statement with non-compound name &#039;Yii&#039; has no effect&#039; \n\nin /var/www/site/protected/modules/sharebetween/views/share/index.php:3\n\nStack trace:\n#0 /var/www/site/protected/vendor/yiisoft/yii2/base/View.php(336): yii\\base\\ErrorHandler-&gt;handleError(2, &#039;The use stateme...&#039;, &#039;/var/www/my.war...&#039;, 3, Array)\n#1 /var/www/site/protected/vendor/yiisoft/yii2/base/View.php...",
    "error": {},
    "errorThrown": "Internal Server Error",
    "validationError": false
}

Details about shared contet

A view that shows into which spaces the content has already been shared by which users would be a good enhancement.

Avoid duplicates on Dashboard

When share this content on your profile stream is enabled, you get two notifications on dashboard. Can we somehow link the shared post to the peoples profile streams without displaying it extra on the dashboard, too?

Screenshot 2023-04-25 at 8 17 24 AM

Fixes

sharebetween.gz

Thanks to dajanvulaj for his contributions.

Done

  • Sharing to profile works
  • Sharing to spaces works
  • Privacy check (share button only appears on public posts) works
  • Working on latest Humhub version (1.6.3) with no errors

TODO

  • Show attached media from original post
  • Add a caption to the shared post (post create form in share modal)
  • Show Like/Comment/etc buttons and counters for the original post within the shared post, allowing access to the original discussion

Sharing drafts

Currently it is possible to share drafts. This should not be possible, as it only leads to confusion and has little to none benefits.

Not intuitive Share button

I just installed the modue but the share button is not in an intuitive place.

It could be perfect to be next to "comment" under the publication. I am sure is really simple to insert same button there but I have not idea how to do it.

Could you give me the code to insert in the needed file to add this button there?

Thank you very much.

New errors after HH update 1.1.2

exception 'yii\base\UnknownMethodException' with message 'Calling unknown method: humhub\modules\sharebetween\models\ShareForm::getSpaces()' in /home/opengrow/public_html/es/community/protected/vendor/yiisoft/yii2/base/Component.php:285 Stack trace: #0 /home/opengrow/public_html/es/community/protected/modules/humhub-modules-sharebetween-master/controllers/ShareController.php(28): yii\base\Component->__call('getSpaces', Array) #1 /home/opengrow/public_html/es/community/protected/modules/humhub-modules-sharebetween-master/controllers/ShareController.php(28): humhub\modules\sharebetween\models\ShareForm->getSpaces() #2 [internal function]: humhub\modules\sharebetween\controllers\ShareController->actionIndex() #3 /home/opengrow/public_html/es/community/protected/vendor/yiisoft/yii2/base/InlineAction.php(55): call_user_func_array(Array, Array) #4 /home/opengrow/public_html/es/community/protected/vendor/yiisoft/yii2/base/Controller.php(154): yii\base\InlineAction->runWithParams(Array) #5 /home/opengrow/public_html/es/community/protected/vendor/yiisoft/yii2/base/Module.php(454): yii\base\Controller->runAction('index', Array) #6 /home/opengrow/public_html/es/community/protected/vendor/yiisoft/yii2/web/Application.php(100): yii\base\Module->runAction('sharebetween/sh...', Array) #7 /home/opengrow/public_html/es/community/protected/vendor/yiisoft/yii2/base/Application.php(375): yii\web\Application->handleRequest(Object(humhub\components\Request)) #8 /home/opengrow/public_html/es/community/index.php(25): yii\base\Application->run() #9 {main}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.