PluginProbe
Friends / 2.8.6
Friends v2.8.6
4.3.2 4.3.1 4.3.0 4.2.2 4.2.1 4.2.0 4.1.0 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 2.7.9 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.0 2.9.1 All 88 releases
friends / README.md

README.md in Friends 2.8.6, at README.md

384 lines 20.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 # Friends
2
3 - Contributors: akirk
4 - Tags: friends, rss, decentralized, social-network, own-your-data
5 - Requires at least: 5.0
6 - Tested up to: 6.4
7 - License: [](http://www.gnu.org/licenses/gpl-2.0.htmlGPLv2 or later](http://www.gnu.org/licenses/gpl-2.0.html](http://www.gnu.org/licenses/gpl-2.0.html)
8 - Stable tag: 2.8.6
9
10 Your own WordPress at the center of your online activity. Follow friends and other websites and establish friendship relationships between blogs.
11
12 ## Description
13
14 The Friends plugin allows you to follow content from other WordPress sites, and interact with them on your own site. You can follow friends and others via RSS. If you also have the ActivityPub plugin installed, you can follow people on Mastodon and other ActivityPub-compatible social networks.
15
16 **Since version 2.6.0, no users will be created for subscriptions.**
17
18 **Combine this plugin with the ActivityPub plugin to make your own WordPress your own Mastodon instance. Use the Enable Mastodon Apps to use mobile and desktop Mastodon apps with your own site.**
19
20 The Friends Plugin also has a "friend request" function which allows blogs to become friends with each other. This then allows private publishing on your blog while each of their friends has their own blog but will be able to see your privately published posts.
21
22 There are many small aspects that make it powerful self-hosted social reader:
23
24 You can...
25 - Have multiple feeds per person, so you can subscribe to their blog(s) and social media account(s).
26 - Categorize incoming content with Post Formats and view all posts of a certain format across your friends.
27 - Define rules to filter incoming content (sometimes you’re not interested in everything your friends do).
28 - Turn your favorite blog into your personal newsletter by receiving full-post notification e-mails
29 - Use feed rules to filter out content you are not interested in.
30 - Receive ePubs of your friends' posts to your eReader (via another plugin).
31 - Collect posts (from your feeds or around the web) in a collection for later reference (via another plugin).
32
33 [](https://www.youtube.com/watch?v=4bz6GluXnsk![Friends Plugin Demo on Youtube](img/friends-plugin-youtube-thumbnail.png)](https://www.youtube.com/watch?v=4bz6GluXnsk](https://www.youtube.com/watch?v=4bz6GluXnsk)
34
35 ### Philosophy
36
37 The Friends Plugin was built to make use of what WordPress provides:
38
39 - You use the WordPress infrastructure (Gutenberg or Classic Editor, what you prefer) to create your posts.
40 - If a post is private, only logged-in friends can see it. They can only log in through their own Friends plugin on their blog.
41 - Therefore, your friend is just a user on your WordPress blog, their posts are theirs, you can delete them to unfriend them.
42 - No extra tables: The Friends plugin just uses a post type, options and some taxonomies to store its data. When you delete the plugin, your WordPress will be slim like before.
43
44 In future, I could see mobile apps instead of talking to a third party, to talk to your own blog. It will have your friends' posts already fetched. Maybe the apps will be specialized, like Twitter or Instagram, where you'd only interact with and create posts in the specific post format.
45
46 The logo was created by Ramon Dodd, @ramonopoly. Thank you!
47
48 Documentation for the plugin can be found on the [](https://github.com/akirk/friends/wikiGitHub project Wiki](https://github.com/akirk/friends/wiki](https://github.com/akirk/friends/wiki).
49
50 **Development of this plugin is done [](https://github.com/akirk/friendson GitHub](https://github.com/akirk/friends](https://github.com/akirk/friends). Pull requests welcome. Please see [](https://github.com/akirk/friends/issuesissues](https://github.com/akirk/friends/issues](https://github.com/akirk/friends/issues) reported there before going to the [](https://wordpress.org/support/plugin/friendsplugin forum](https://wordpress.org/support/plugin/friends](https://wordpress.org/support/plugin/friends).**
51
52 ## Installation
53
54 1. Upload the `friends` directory to the `/wp-content/plugins/` directory
55 1. Activate the plugin through the 'Plugins' menu in WordPress
56
57 ## Frequently Asked Questions
58
59 ### Does this plugin create custom tables?
60 No, all the functionality is achieved with standard WordPress means. Subscriptions or Friends are minimal-permission users on your install. External posts are cached in a custom post types and attributed to those users.
61
62 ### Why does this create users on my WordPress install?
63 I believe this is a very elegant way to attribute content and it allows to delete the users content when you delete them. The users have minimal privileges, so they cannot be used to post actual content to your site.
64
65 The users can only be used for login through your specific friend's WordPress install (they are created with a strong password throw-away password), if they have been upgraded to a "friend" or "aquaintance" user.
66
67 ### Why is the friendship established between WordPress sites and not WordPress users?
68 For one, this allows to stick with established WordPress configurations and terminologies. For example, you can use the WordPress mobile apps to post privately to your site.
69
70 Secondly, a lot of WordPresses are like cell phones. Some are used by more than one person but mostly there is a 1:1 relationship between a WordPress blog and a person.
71
72 If someone has multiple WordPresses this actually allows to segment your friendships. Close friends might want to follow all your blogs but you'd only add your photographer friends to your photoblog.
73
74 ### What if the friend request is deleted or not accepted?
75 You'll still see the public posts from the other WordPress, you've subscribed to its public RSS feed.
76
77 ### What's the point? If I want to post something privately I can use Facebook.
78 Well, that's actually exactly the point. Facebook owns your data, with WordPress you can decide where you want to host it and have all the benefits of running open source software.
79
80 ### What happens if I modify or delete a post?
81 There is a cache of your friends post in form of a Custom Post Type friend_post that is updated when you change a post. When you delete a post your friends' WordPresses are notified and they delete the cached post.
82
83 ## Screenshots
84
85 1. Compact view is like Google Reader
86 2. You can use it like a Feed Reader
87 3. But it is centered around users; you can have multiple feeds per person, even on social networks (parsing capabilities provided by plugins)
88 4. Extensible with plugins itself
89 5. Use the customizer to adapt it to your liking
90 6. Categorize incoming content with Post Formats and view all posts of a certain format across your friends
91 7. Use rules to filter incoming content (sometimes you’re not interested in everything your friends do)
92 8. Friends users are plain WordPress users with low privileges
93 9. A Friend Request is accepted in the users screen. Delete the user to reject it or accept the request to make them a friend
94
95 ## Changelog
96
97 ### 2.8.6
98 - Improve friend URL validation before trying to discover feeds ([#290])
99
100 ### 2.8.5
101 - Add Boosting any URL and improve search field ([#287])
102 - Allow translator translation for the welcome box ([#286])
103 - Remove dysfunct double setting from Edit User Page ([#289])
104
105 ### 2.8.4
106 - Fix adding new feeds with a Mastodon-style notation ([#282])
107
108 ### 2.8.3
109 - Unfortunately we had to disable Gutenberg on the frontend ([#273])
110 - Fixed a missing reblog button for virtual users ([#261])
111 - Allow segmentation of friends frontpages ([#272]), see this experiment: https://github.com/akirk/friends-mastodon-like-interface
112 - Allow double clicking the text to collapse/uncollapse ([#263])
113 - Fix that the friends email address was displayed wrong ([#266])
114 - Fix external auth on multisite ([#267])
115 - Translatability fixes ([#265])
116 - Frontend: Allow future post status ([#270])
117 - Improve error checking regarding post formats and missing ActivityPub metadata ([#271])
118
119
120 ### 2.8.2
121 - Fix crash when using get_the_excerpt in the admin edit-post screen ([#260])
122
123 ### 2.8.1
124 - Fix broken outgoing activities with version 1.0 of the ActivityPub plugin ([#258])
125
126 ### 2.8.0
127 - Fix invalid callback
128
129 ### 2.7.9
130 - Fix broken replies with version 1.0 of the ActivityPub plugin ([#257])
131
132 ### 2.7.8
133 - Fix some incompatibilities with version 1.0 of the ActivityPub plugin ([#256])
134
135 ### 2.7.7
136 - No longer send your own comments out via ActivityPub, should be moved into the ActivityPub plugin ([#255])
137 - Hide block options for ClassicPress ([#252])
138 - Change feed table from horizontal to vertical ([#248])
139
140 ### 2.7.6
141 - Added an option to enable/disable Gutenberg on the frontend ([#245])
142 - Fixed that a faulty "hide from friends page" value could cause missing posts in the main feed
143 - Change so that the [Send to E-Reader plugin] can enable downloading the ePub from a special URL
144
145 ### 2.7.5
146 - Fix following users from Enable Mastodon Apps
147 - Fix disappearing posts after untrashing them
148
149 ### 2.7.4
150 - Allow specifying a URL as avatar ([#243])
151 - Add more mastodon style urls for ActivityPub parsing autodetection (when there is no mime-type in the rel=me)
152 - Fixed a bug where comments were not retrieved via the comments RSS feed
153 - Fixed the require codeword checkbox
154
155 ### 2.7.3
156 - Add get_posts args support for virtual users ([#242]), this allows the Enable Mastodon Apps to work with external mentions after [#215]
157
158 ### 2.7.2
159 - Prepare for Activitypub Update which in its current state could cause a fatal ([#241])
160 - Post Collection compatibility: Allow trashing of Post Collection posts ([#240])
161 - Post Collection compatibility: Allow the post collection to be included in the autocomplete ([#239])
162 - Fix updating of user data when the subscription is a virtual user ([#238])
163
164 ### 2.7.1
165 - Update Blocks Everywhere for WordPress 6.3 compatbility ([#236])
166 - ActivityPub: Also detect standard fediverse urls and assign the post-format status ([#237])
167
168 ### 2.7.0
169 - Improve the Onboarding Experience ([#231])
170 - Expose the ActivityPub plugin more on the Add Friend screen ([#234])
171 - Fixed Quick Subscribe ([#233])
172 - Recognize the published date for announces ([#232])
173 - Allow setting the Collapsed view as default ([#224]) but don't collapse when there is just a single post ([#229])
174
175 ### 2.6.0
176 - Don't create a user when only following someone ([#215]). This means that if you only want to use the Friends plugin to follow people, it will no longer create a user for each follow.
177 - Fix the hardcoded friends url path on the refresh widget ([#223])
178 - ActivityOPub: add support incoming video attachments ([#222])
179 - Friends Page: Status View improvements ([#220]): Style the collapsed status view better. Move the Quick post toggle. Add Reply button and dropdown entry.
180 - Friends Page: Allow private sharing of a post on your friends page ([#217]). Adds a new "Share" item to the dropdown which gives you a special link that can be viewed by anyone.
181 - A number of small PHP 8.1 fixes
182
183 ### 2.5.3
184 - Add a new Reply To field to the Status post form ([#210]), also see the related update to the Firefox extension at https://addons.mozilla.org/addon/wpfriends/
185 - Fix a Fatal regarding ActivityPub metadata
186
187 ### 2.5.2
188 - Create better display name from follows from the Enable Mastodon Apps plugin
189 - Relay the external mentions user to the Enable Mastodon Apps plugin
190
191 ### 2.5.1
192 - Prevent creation of a new feed for a virtual external mentions feed
193
194 ### 2.5.0
195 - Fix/improve outgoing ActivityPub mention behavior for comments ([#205] and [#206])
196 - Support for external ActivityPub mentions ([#206])
197
198 - ### 2.4.0
199 - Reactions: Make it possible to issue reactions from outside ([#201])
200 - Add Reblogging and Announce support for ActivityPub ([#168])
201 - Add filters and metadata to make the Enable Mastodon Apps plugin possible ([#200])
202 - ActivityPub: Auto-approve comments by people you follow ([#199])
203 - Add more explicit plugin recommendations ([#203] and [#202])
204
205 ### 2.3.1
206 - Remove stale ActivityPub version and use the information from WordPress.org ([#195])
207 - Allow mixing of post formats on the frontend
208 - Allow filtering notifications by the incoming feed ([#196])
209 - Fix friends menu on other site ([#189])
210 - Added missing space to generated SQL query ([#191])
211
212 ### 2.3.0
213 - The Wiki now contains a [](https://github.com/akirk/friends/wiki/HooksHooks Documentation](https://github.com/akirk/friends/wiki/Hooks](https://github.com/akirk/friends/wiki/Hooks) ([#167])
214 - Frontend: Add CSS rule to fix odd resizing ([#166])
215 - Frontend: Add a "Show hidden items" in the main feed header ([#172])
216 - Frontend: Upgrade Blocks Everywhere, hide Quick Post Panel by default ([#180], [#183])
217 - Frontend: Don't let the Post Kinds plugin interfere with the friends query ([#176])
218 - Admin: Fix inconsistencies with links to the new friends list link ([#184]) props @pfefferle
219 - Admin: Tweak text for "Show Hidden Items" setting, per-feed. ([#173]) props @alecmuffett
220
221 ### 2.2.0
222 - Fix remote friends plugin detection on public Friends page when headers are stripped ([#160]).
223 - Permissions: Allow using the friends plugin as an Editor ([#121]). An administrator account no longer required, you only need one to set the main user and adjust blog-level settings.
224 - Automatic status: Add option to disable creation of automatic status post drafts ([#141]).
225 - ActivityPub: Support for outgoing mentions (prepared in [activitypub#213] by removing the parser from there for quicker iteration). Implemented in [#137].
226 - ActivityPub: Use the avatar from ActivityPub ([#142]) and allow setting it after the fact (it won't change automatically).
227 - ActivityPub: Add outbox support ([#163]) which means that when you now subscribe to someone new, it will fetch old posts.
228
229 ### 2.1.3
230 - Feeds: fixed a bug where when adding a new user and subscribing to an ActivityPub feed at the same time, the ActivityPub account won't be followed (would need a deactivate/actiate of the feed).
231 - Taxonomies: Hide the user-feed and reactions taxonomies from the public and delete their entries when uninstalling the plugin ([#132]).
232 - Improved PHP8 compatibility and start testing with PHP8.2 in the CI.
233
234 ### 2.1.2
235 - Frontend: add option to show/hide hidden entries on a user page ([#124]).
236 - Admin: Fix that the main settings page would not save.
237 - Plugins (ActivityPub): Add a function to get all friends for a specific parser. This is for [activitypub#213].
238 - Plugins: Allow plugins to suggest a better display name and username for friends via two new hooks `friends_suggest_user_login` and `friends_suggest_display_name`.
239
240 ### 2.1.1
241 - Friends messages and status posting UI: Bring back the Gutenberg Editor using the updated blocks-everywhere ([#122]).
242 - Admin: Fix a redirect problem on the autostatus admin page.
243 - Status posts: fix collapsing them and only output the status post box on the main status feed to avoid confusion when your posts don't show up on an author status page.
244
245 ### 2.1.0
246 - Plugins: Add filters for allowing ActivityPub integrations (see [activitypub#172]): `friends_rewrite_incoming_url`, `friends_user_feed_activated`, `friends_user_feed_deactivated`.
247 - Plugins: Add ActivityPub to the Friends Plugins installer.
248 - Frontend: Add ability to read a post's comments inside the Friends plugin using the comments button (if it supplies a comments feed in its RSS which all WordPresses do) ([#113]).
249 - Frontend: Add different styling for images and status feed. Add a "post status" box to the status feed.
250 - Frontend: Allow starring friends + new widget to display those starred friends for convenient access.
251 - Frontend: Add a recent friends widget that displays your newest friends and subscriptions for convenient access.
252 - Admin: Introduce tabs on various friends settings for a better overview ([#116]).
253 - Admin: Remove the Welcome admin notice in favor a Welcome screen inside the friends plugin.
254 - Admin: Improve the friend space usage calculation for friends with many posts.
255 - Admin: Improve Automattic Status ([#111]).
256 - Core: Improved the WP_Query for the frontend to allow to show your reactions to the posts ([#114]).
257 - Core: allow frontend detection earlier in the WordPress boot process allowing our `add_theme_support()`s to kick in based on whether we are on the frontend.
258 - Core: Fetch feeds based on their due date. This will allow adjusting feed fetch intervals individually for feeds ([#109]).
259 - Multisite: Improve activation code so that the friend roles should now be created more reliably on new multisite blogs ([#107]).
260 - Plugins: Add filters for the Friends roles plugin: `friends_plugin_roles`.
261
262 ### 2.0.2
263 - Fix namespace on activation, deactivation and uninstall hooks
264
265 ### 2.0.1
266 - Fix a problem with retrieving and up to date plugins.json file from Github
267
268 ### 2.0.0
269 - Improved handling of updated feed items and how they are stored as revisions
270 - PHP: Introduced a namespace, changed the plugin hooks to friends_loaded and friends_load_parsers
271 - Add checks for diagnosing the correct functioning to Site Health
272
273 ### 1.9.1
274 - Fix a fatal error
275
276 ### 1.9.0
277 - New feature: Keyword Matcher (get a notification if an incoming post contains keywords you can specify)
278 - New feature: Automatic status posts (automatically create draft status posts for certain events, they need to be published manually)
279 - Disable Gutenberg in messages until Gutenberg-Everywhere has been fixed
280
281 ### 1.8.5
282 - Multisite: fix adding user to site instead of requiring a new username
283
284 ### 1.8.4
285 - Fixes for a PHP fatal and some notices
286
287 ### 1.8.3
288 - Improve default feed selection when adding a friend
289 - Fix improper plugin directory when a friends plugin installed from Github
290
291 ### 1.8.2
292 - Move plugin updater data to Github
293
294 ### 1.8.1
295 - Fix whitespace missing in feed additions
296
297 ### 1.8.0
298 - Small bugfixes (main query modification, menu conflict, show the friends menu in wp-admin, allow regex to match post length)
299 - Use the Gutenberg editor for blog to blog messaging
300
301 ### 1.7.0
302 - Add Emoji reactions
303 - Add blog to blog messaging
304
305 [Send to E-Reader plugin]: https://github.com/akirk/friends-send-to-e-reader
306 [#290]: https://github.com/akirk/friends/pull/290
307 [#287]: https://github.com/akirk/friends/pull/287
308 [#286]: https://github.com/akirk/friends/pull/286
309 [#289]: https://github.com/akirk/friends/pull/289
310 [#282]: https://github.com/akirk/friends/pull/282
311 [#273]: https://github.com/akirk/friends/pull/273
312 [#261]: https://github.com/akirk/friends/pull/261
313 [#272]: https://github.com/akirk/friends/pull/272
314 [#263]: https://github.com/akirk/friends/pull/263
315 [#266]: https://github.com/akirk/friends/pull/266
316 [#267]: https://github.com/akirk/friends/pull/267
317 [#265]: https://github.com/akirk/friends/pull/265
318 [#270]: https://github.com/akirk/friends/pull/270
319 [#271]: https://github.com/akirk/friends/pull/271
320 [#260]: https://github.com/akirk/friends/pull/260
321 [#258]: https://github.com/akirk/friends/pull/258
322 [#257]: https://github.com/akirk/friends/pull/257
323 [#256]: https://github.com/akirk/friends/pull/256
324 [#255]: https://github.com/akirk/friends/pull/255
325 [#252]: https://github.com/akirk/friends/pull/252
326 [#248]: https://github.com/akirk/friends/pull/248
327 [#245]: https://github.com/akirk/friends/pull/245
328 [#243]: https://github.com/akirk/friends/pull/243
329 [#241]: https://github.com/akirk/friends/pull/241
330 [#240]: https://github.com/akirk/friends/pull/240
331 [#239]: https://github.com/akirk/friends/pull/239
332 [#238]: https://github.com/akirk/friends/pull/238
333 [#237]: https://github.com/akirk/friends/pull/237
334 [#236]: https://github.com/akirk/friends/pull/236
335 [#231]: https://github.com/akirk/friends/pull/231
336 [#234]: https://github.com/akirk/friends/pull/234
337 [#233]: https://github.com/akirk/friends/pull/233
338 [#232]: https://github.com/akirk/friends/pull/232
339 [#224]: https://github.com/akirk/friends/pull/224
340 [#229]: https://github.com/akirk/friends/pull/229
341 [#223]: https://github.com/akirk/friends/pull/223
342 [#222]: https://github.com/akirk/friends/pull/222
343 [#220]: https://github.com/akirk/friends/pull/220
344 [#217]: https://github.com/akirk/friends/pull/217
345 [#215]: https://github.com/akirk/friends/pull/215
346 [#210]: https://github.com/akirk/friends/pull/210
347 [#206]: https://github.com/akirk/friends/pull/206
348 [#205]: https://github.com/akirk/friends/pull/205
349 [#201]: https://github.com/akirk/friends/pull/201
350 [#168]: https://github.com/akirk/friends/pull/168
351 [#200]: https://github.com/akirk/friends/pull/200
352 [#199]: https://github.com/akirk/friends/pull/199
353 [#203]: https://github.com/akirk/friends/pull/203
354 [#202]: https://github.com/akirk/friends/pull/202
355 [#195]: https://github.com/akirk/friends/pull/195
356 [#196]: https://github.com/akirk/friends/pull/196
357 [#189]: https://github.com/akirk/friends/pull/189
358 [#191]: https://github.com/akirk/friends/pull/191
359 [#184]: https://github.com/akirk/friends/pull/184
360 [#183]: https://github.com/akirk/friends/pull/183
361 [#180]: https://github.com/akirk/friends/pull/180
362 [#176]: https://github.com/akirk/friends/pull/176
363 [#173]: https://github.com/akirk/friends/pull/173
364 [#172]: https://github.com/akirk/friends/pull/172
365 [#167]: https://github.com/akirk/friends/pull/167
366 [#166]: https://github.com/akirk/friends/pull/166
367 [#160]: https://github.com/akirk/friends/pull/160
368 [#121]: https://github.com/akirk/friends/pull/121
369 [#141]: https://github.com/akirk/friends/pull/141
370 [#137]: https://github.com/akirk/friends/pull/137
371 [#142]: https://github.com/akirk/friends/pull/142
372 [#163]: https://github.com/akirk/friends/pull/163
373 [#132]: https://github.com/akirk/friends/pull/132
374 [#124]: https://github.com/akirk/friends/pull/124
375 [#122]: https://github.com/akirk/friends/pull/122
376 [#113]: https://github.com/akirk/friends/pull/113
377 [#116]: https://github.com/akirk/friends/pull/116
378 [#111]: https://github.com/akirk/friends/pull/111
379 [#114]: https://github.com/akirk/friends/pull/114
380 [#109]: https://github.com/akirk/friends/pull/109
381 [#107]: https://github.com/akirk/friends/pull/107
382 [activitypub#213]: https://github.com/pfefferle/wordpress-activitypub/pull/213
383 [activitypub#172]: https://github.com/pfefferle/wordpress-activitypub/pull/172
384