-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add social sharing #3679
Add social sharing #3679
Conversation
core/js/sharedialoglinksocialview.js
Outdated
showLink: true, | ||
|
||
events: { | ||
"click .pop-up": 'onPopUpClick' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mixed quotes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
core/js/sharedialoglinksocialview.js
Outdated
}); | ||
|
||
OC.Share.ShareDialogLinkSocialView = ShareDialogLinkSocialView; | ||
})(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it would make sense to pass OC
and any other globals as parameter here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree in general. But I don't wanna mess with the init stuff there right now.
core/js/sharedialogview.js
Outdated
@@ -421,6 +426,9 @@ | |||
this.shareeListView.$el = this.$el.find('.shareeListView'); | |||
this.shareeListView.render(); | |||
|
|||
this.socialView.$el = this.$el.find('.socialView'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this.$('.socialView')
would be simpler
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
True
core/js/sharedialogview.js
Outdated
@@ -69,6 +70,9 @@ | |||
/** @type {object} **/ | |||
shareeListView: undefined, | |||
|
|||
/** @type {object} **/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OC.Share.ShareDialogLinkSocialView
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes
@jancborchardt that looks better indeed. Let me see what I can come up with! |
* Add socialshare manager * Add social share field under link share Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
* If there are social sharing buttons move them and the copy action to a menu * If there are no social sharing buttons just leave the copy action where it is directly Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
@jancborchardt now looks like Somebody that actually knows CSS has to make it look nice. But it is in the menu. |
Is the « Share to » part really necessary ? Isn't a line split into the three icons side by side (fb/g+/twitter) enough ? |
Some proposals/suggestions, up to you to evaluate if interesting
|
@tcitworld I don't care. Somebody with more artistic talent than me has to fix that. Maybe I just make it super ugly so somebody has to fix it before the release ;) |
@Spartachetto The buttons are provided by an app. So people can write an app for any social media or other thing they want. For example if you only want to allow your users to share to instagram you have to (pay somebody to) write a simple app and only enable that. |
I'm a bit worried about the very low discoverability of the feature when it' hidden behind the 3 dots. |
I agree, we should have at least one network which fits our philosophy, so I added Diaspora for now: nextcloud/socialsharing#1 (because it was easy, we use it already in the personal settings to share your federated cloud id) |
I think in general this is fine. But I agree that it is hard to discover it for the first time. Imho that's a nice example why a "what's new" notification makes a lot of sense :hides: |
@schiessle no I won't add that to the default app. Because people are going to be whining that they want to get rid of it. We can write a different app for diaspora (I just combined g+, fb and twitter because people that want social sharing will for 99% want those). |
I agree with @rullzer, but I think it is already in now 😕 See nextcloud/socialsharing#1 |
Ah well. What is done is done |
@rullzer I strongly disagree. 99% also use Dropbox, GDrive or icloud. That's not an argument. I would argue that in our community you have a lot Diaspora users and people who strongly disagree with Facebook, G+, Twitter & Co. By presenting only this options we send the wrong signal. |
Sadly I need to disagree and we will get a change request to remove diaspora from a customer for sure ... |
We will see. I expect most customer will remove it completely and will not be disturbed by just one specific social network. How much customers requested to remove Diaspora from the "share my federated cloud ID"? |
Couldn't we just add an admin settings section to activate/deactivate some of the social shares possibilities ? EDIT : My idea is to support more than 3 default social share methods with the socialsharingdefault app, like D*, instagram, linkedin, with only fb/twitter/g+ activated. I feel it stupid to have maybe 5 more apps that do nothing more than adding share buttons. And such sharing provider apps would never get updated anyway. |
Google+, Facebook and Twitter have some kind of the same target group ... Diaspora is however is outstanding - it should be in a separate provider. This is why the social sharing implementation stuff is done via providers - we can split up this into several provider apps. Especially enterprise users will usually not use diaspora - and may be irritated by this icon 😅 I have to agree! @schiessle See the upsides of doing this. With doing this, admins can also go the diaspora-only way, and disable Google+, Twitter and Facebook 😉 Everybody wins. |
So the app is just an example (because I needed more than 1 there). The approach will be basically 1 app per provider. So everybody can create their own social sharing list. This IMO makes a lot more sense then 1 app that holds everything and then we spend time developing a new admin interface to enable certain parts. |
An admin should have one single setting, and that is »enable sharing to social networks«. Then users should have individual settings to enable/disable the individual networks, whichever they use. This is not an admin decision because different users use different networks. Hence it makes no sense as different apps. |
Yes and we should cap it at 3 or 5 networks to make it manageable in the sharing interface
Actually, it makes total sense. If one app becomes unmaintained or has security issues, it's easy to disable/remove. The alternative is to have some form of plugin system. Could be "Dump a class here" system since admins would be responsible for enabling the network, but I foresee some serious upgrade issues. |
That’s all fine tech-wise, as long as in a default install of Nextcloud:
@rullzer is that possible with this approach? |
@jancborchardt No. and very much out of scope for now |
Don't forget that these are not the default by accident. The companies behind the products pay millions for the product placement. |
First of all, thank to all of you that "made it happen" with your coding! I am just citing my experience as one of the possible scenarios. So in that professional context the "usual three" were not usual except one. |
@schiessle uhm sure, not that hard 😄 |
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
66fc6a3
to
13aae43
Compare
Please use the GitHub search to check whether this has been reported at https://github.com/nextcloud/server/issues and if not, please file an issue at https://github.com/nextcloud/server/issues/new. Thanks! |
Fixes #3368 based on owncloud/core#25576
Basically it introduces a manager (in javascript) to add the social sharing buttons. This makes sure that people that don't want social sharing or want their own fancy social network can just write their own app.
Edit: this is how it looks now:
To see it in action install https://github.com/nextcloud/socialsharingdefault
As usualy some CSS wizzard to make it look better is appreciated else we do it like this until somebodies eyes bleed enough. @nextcloud/designers