Code Monkey home page Code Monkey logo

bp-feeds's Introduction

I'm Slava Abakumov, a developer and product lead working with PHP in general and WordPress in particular since 2008. I am or was involved in the development of many plugins, that have an insane user base and huge WordPress ecosystem impact: WPForms, WP Mail SMTP, BuddyPress, CMB2, PDF Embedder, Google Apps Loginc, etc.

On my blog, ovirium.com, I write about my observations, experiences, thoughts, tools, processes – whatever is part of my daily activity. You can subscribe to my newsletter too.

Twitter Follow

bp-feeds's People

Contributors

bowefrankema avatar slaffik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bp-feeds's Issues

RSS Import limits

Daily, weekly, all time.

That's a good place even to require people to pay to be able to import more than 10 RSS items per day.

Allow "RSS Feed" to be a top level menu item on Profiles

On CFCommunity the blog/site functionality is very important for profiles (most people with CF actively blog) and I would like to be able to make the "RSS Feed" a top level menu item on profiles instead of a nested item under "Activity". See the attached screenshot for a quick mock-up of a top level item (similar to Groups)

screenshot 2014-05-20 19 24 23

Fatal Error on user registration when plugin is active

When a user registers the following fatal error occurs

"Fatal error: Cannot use object of type WP_User as array in /Users/Bowromir/webserver/cfcommunity.net/wp-content/plugins/buddypress-rss-feeds/core/front_members.php on line 222"

Feeds Directory (Stream)

Feeds Directory - Make Feed it's own component which has it's own page. Basically it would be like the activity stream but it would only display feed items. Feed items can be filtered (category), favourited, commented upon and upvoted (to see what's popular and not).

Example: Let's say you have a community about WordPress news

User "Woo" makes an account and adds their personal woothemes.com/blog feed and assigns the category "Commercial Products". Now on the RSS Feed Stream Woo's posts will show up in the global feed but also under the category "Commercial Products".

As a user you can "Follow/Subscribe" to the users/feeds you would like to follow and only see recent posts from the WordPress blogs that have your interest.

Additionally you could filter on the most popular items (the items that have receive an "upvote" ala Reddit or the ones that have been favorited the most.

See the attached screenshot for a mock-up.

screenshot 2014-05-10 15 37 49

Process images from feed as Featured image

Thus the first image will be made a featured one. Later some logic might be introduced to prevent making featured too small images.

On the old version image was just added to content in activity item. Now WordPress and BuddyPress will do everything required.

Admin: imported feed item extra data

Add metabox with info about the component (member / group) that initiated this import. Withh all appropriate links (like to editing of that info on front-end, as admin can edit everything).

Also, currently menu in admin area with imported data is vilisble only when WP_DEBUG is true. Should we always make it visible for admins?

New admin area

New admin area should support different subpages for settings. Basically needed for extensions.
Default are General and Members
Others will include: Groups, Forums, Sites etc

Notification & Edit Functionality

A simple extension that would notify a user when a new feed item has been imported (this would only trigger AFTER initial import) and with the ability to edit the excerpt that has been added to the feed item. Example:

"A new post has been imported from your blog "WooThemes". You have 12 hours to edit the excerpt text we automatically generated for your post.

Click here to view your imported post"

Editing Activity has been done by Brajesh recently (http://buddydev.com/buddypress/allow-users-editupdate-activity-activity-comment-front-end-buddypress-based-social-network/) so this could be implemented with this extension.

Add option "Maximum Amount of Posts to import"

"How many posts would you like to import when a RSS feed is added? This is useful if you don't want to fill the activity stream with older posts. By default this is set to only import the last 5 published posts."

See the attached screenshot.

screenshot 2014-05-09 17 31 32

Add option "Placeholder URL"

It would be nice if the admin could set the default placeholder link. Depending on your audience this could be a very useful way to give them the right example.

Are you author of imported posts?

Users might include links to not their own sites.
Further thinking: "published a new post" or "imported a new post"?
Thus published wording will be wrong, and imported or shared is much better in this case.
Give admin ability to enable the question to users - is it their own blog feed url? If yes - published, otherwise - shared

Warning Messages on initial feed import

/Users/Bowromir/webserver/cfcommunity.net/wp-content/plugins/buddypress-rss-feeds/bp-rss-feeds.php on line 190

Warning: Illegal string offset 'source' in /Users/Bowromir/webserver/cfcommunity.net/wp-content/plugins/buddypress-rss-feeds/bp-rss-feeds.php on line 191

Warning: Illegal string offset 'item' in /Users/Bowromir/webserver/cfcommunity.net/wp-content/plugins/buddypress-rss-feeds/bp-rss-feeds.php on line 190

Warning: Illegal string offset 'source' in /Users/Bowromir/webserver/cfcommunity.net/wp-content/plugins/buddypress-rss-feeds/bp-rss-feeds.php on line 191

Components as taxonomy

Members, groups, forums, sites etc - they all should a separate custom taxonomy for one bp_feed new CPT.

All taxonomies will be registered through an API bpf_register_feed_component() etc. All taxonomies will be added to DB on registration (with avoiding duplications, of course).

End result:

  1. BP Feeds top level menu
  2. Components submenu which is custom taxonomy with a bpf_component slug
  3. Every new extension (members, groups, events, forums etc) will register itsуда and that will add a new term record into db to this taxonomy.
  4. On import every feed item will pass its component and that will assign term_taxonomy to each imported feed item. That will update counters in admin area, and will give ability to query easily.

Admin: Ability to hide members profile RSS nav link

Currently we have in either top level, or secondary under Activity.
Admin may want to hide it altogether, users will be able to filter RSS items anyway.

Need to think where to move the fetching-n-saving logic. Ajaxify?

RSS Feed Settings showing on "Forum" profile pages

For some reason the RSS Feed setting screen is showing up on "Forum" profile pages. The feed settings are even visible if you're visiting someone else their profile. See the attached screenshot. I think it might be a permission problem?

screenshot 2014-05-20 18 56 22

Convert entities to CPT

Currently all rss items are stored in activity table, not wp_posts. Make them CPT with all the fancy UI that WordPress provides.

Multiple RSS for members, groups, sites, forums

This is an awesome plugin. Do you have any plans to add the ability to feed multiple RSS feeds to a single group or profile? Also, any plans to release this on the WordPress repository as a paid or free plugin? There really isn't anything like this that works currently. Well done.

Manual Feed/Link submission

Although this could be accomplished with plugins like Gravity Forms and such, I think it would be cool to create a shortcode that can be placed on a post or page that outputs a form to submit a Feed item manually. Once this is implemented an admin could choose to create something more akin to Reddit or any other content aggregation community and even choose to disable RSS feeds.

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.