Skip to:
Content
Pages
Categories
Search
Top
Bottom

Forum Replies Created

Viewing 25 replies - 176 through 200 (of 222 total)
  • @mrmaz

    Participant

    @Suzanne

    Thanks for the kind words!

    Managing themes in BP is a chore, but I think a lot of it has to do with the fact that there is just so much HTML required to display it. I tend to agree with you though. Simply extending the existing default theme is the quickest way to get up and running, so you end up with most websites just changing the colors, and not much of the layout. A separate framework for developing themes would be awesome, but you are still at the mercy of the direction of the project.

    When 1.2 comes I will have to re-theme this plugin, so I will take all of the help I can get at that point! Any input as to how to re-make the templates so they are more generic would be great.

    @mrmaz

    Participant

    @lsddesign

    I think you are probably getting that error, because buddypress-links requires PHP 5.2 or higher.

    @mrmaz

    Participant

    @DJ

    Thanks for the tip. I will keep that in mind when I tackle it :)

    @Everyone

    I didn’t receive many bug reports for this RC, probably because nobody will notice they can upgrade until the stable tag changes. Nobody has reported any catastrophic failures, so I went ahead and tagged version 0.2

    Thank you very much to everyone that took the time to test this out and give feedback!

    @mrmaz

    Participant

    @Erich73

    What is being discussed is all just talk right now. No matter what happens I am sure there will be backwards compatibility. I wouldn’t hold off on anything.

    @mrmaz

    Participant

    @jjj

    I don’t think it will necessarily replace the other components, but what it will do is handle all of the generic functionality that is now handled by the components themselves. Since each component might handle it a little bit differently, it is difficult to get them all to play nice with each other.

    What is being proposed is that all of the complexities of the inner guts of buddypress start to move more towards the heart of the app, so new components and plugins don’t have to worry about implementing so many redundant functions. Recording activity and updating meta data are two obvious ones, but avatar handling is another. Even though there are core functions to handle most of this, you still have to create a bunch of wrapper functions in order to support filters and actions, etc. Just some basic polymorphism would elimiate thousands of lines of code. Imagine instead of copying pasting 30 functions, you just extend the class and define your slug in the slug() method, and then whenever you call a parent class method, all of them automagically store your data the right way for you.

    In the future if a new component comes along that has some cool functionality that all other components can benefit from, then this could be refactored “up” into the activity component, or whatever it ends up being called, so the new functionality could become instantly available to everything else.

    @mrmaz

    Participant

    @marius

    Thanks for taking the time to explain your method. I originally thought of doing something similar, but I was a little worried about breaking the flow of how WP “hunts” for templates. In BP (and buddypress links) there are lots of calls to locate_template(), and I haven’t yet taken the time to learn exactly how this works too see if what you suggest causes any problems.

    I also have a bunch of calls to bp_core_load_template() that I want to get rid of.

    It is encouraging that you have an established plugin that works using a custom locate technique, so I think I might do the same in the next iteration.

    STYLESHEETPATH is a sweet constant, I only wish there was one for get_stylesheet_directory_uri()

    @mrmaz

    Participant

    @jivany

    I agree it is annoying having to manually move the theme files. Have you actually put them in bp-sn-parent/ and it worked? I have never tried that! I have designed it so the folder goes in your “default” or customized default theme.

    There are two issues with your proposal for automatic moving.

    1. If the links dir goes into bp-sn-parent, what happens when buddypress gets updated?

    2. If it goes into your main theme, how will I know that I am not overwriting any customizations you have made?

    I think the long term solution is to keep the links theme files in the plugin directory, and auto-detect if any custom files were put in your theme folder, but I am not sure if and how that would work.

    If anyone has done this successfully with buddypress, please give me a shout!

    @mrmaz

    Participant

    @pimp

    make sure you have selected a category? the only req fields are category, url, name, desc.

    @mrmaz

    Participant

    @Gpo1

    You are the first to report a problem with links not being added to the activity stream. It works in my test install. The activity entries are showing up everywhere that they are supposed to.

    I am not sure how to go about debugging this one, hrmmm.

    @mrmaz

    Participant

    @pimp

    Try deleting line 468 from bp-links.php

    remove –> “return false”

    That won’t solve your problem, I don’t think, but I want to see if you at least get an error message.

    @mrmaz

    Participant

    @Andy

    Cool man, I don’t want anyone to think I only just complain, hehe. I have never been good at sugar coating stuff, and my wife gives me hell all the time about it. Btw, I have a 2 y/o and a pregnant wife, so I reserve the right to be snarky, lol.

    Check out my registry for auto-embedding rich media services. I think it could be adapted to work for activity streams, although I guess it would have to be de-PHP5’d :(

    Registry & Service Template Methods

    https://plugins.trac.wordpress.org/browser/buddypress-links/tags/0.2-RC1/bp-links-embed-classes.php

    Services

    https://plugins.trac.wordpress.org/browser/buddypress-links/tags/0.2-RC1/bp-links-embed-services.php

    To solve the performance problem, each “service” would need to define a method that denormalizes itself for storage in the table that is queried (it gets hammered). This is very similar to format_activity(), except the abstract activity registry class would define strict rules for the format of data that is returned, then format the output itself from this “cached” denormalized data. We are back to square one with the need to refresh the denormalized data periodically, but I can think of a few ways to lessen the hit. One would be to have a timestamp (or other freshness indicator) column so only records that have changed are refreshed. It would be ideal to refresh the data with a pure SQL query, but then the components would have to provide the SQL to do it, and that would get very messy.

    In the end you have an activity stream class interface that basically says… you want to record activity? Ok, extend me and define these methods. You have to return data in exactly this format. Add yourself to my registry, and if you followed directions, I will do all of the heavy lifting for you. Otherwise, get lost.

    LMK if any of this sounds good to you, or if we are way off of the same page.

    @mrmaz

    Participant

    @Tore

    Once 1.2 is considered to be more stable I am going to start a new branch of links to begin supporting the new default theme. I also have plans to do a lot more with the activity stream, but until it is on more solid footing, I am afraid to spend too much time on it.

    If you want to help update the theme to work with 1.2, that would be awesome.

    @pimp

    Thanks, I will see if I can replicate the problem.

    @mrmaz

    Participant

    @Ron

    YES! I am glad someone agrees with me that it should be a registry. It could start out as a very basic class and grow over time.

    The monkey wrench is the idea that Andy threw out about activity being the hub and components the spokes. Right now the activity stream is a service that components use, but with his idea this role is (sort of) reversed. So it will be tough to come up with a final solution until this part is ironed out. I am not agreeing or disagreeing with the idea, but its critical to decide on it first.

    With Andy’s idea, a registry pattern might still work well, but it will depend on exactly how much of the other component’s functionality is handled by the activity component. Will it be passed data, or will it be passed callback functions, or will it call template methods etc.

    Personally, I don’t think the activity stream should have any idea what it is displaying. It should only be passing item_ids to template methods or callbacks and expecting that data to be formatted in a very specific way (a combination of Registry and Template Method patterns).

    @mrmaz

    Participant

    @pimp

    Can you please post a couple of the links you are trying to add? I just want to make sure I am using the same data as you when testing.

    @mrmaz

    Participant

    @andy

    Not sure if you took my post on the other thread the wrong way, but it was meant to bring attention to the real problem, not to flame. Hopefully, I am not being labeled a troll here.

    I am happy that you recognize the real problem, though still disagree with you on the data normalization issue. I think you were headed in the right direction with the format_activity() way of doing things. It would be prudent to take another look at this and see if we can put our heads together to solve any of the problems you were having that led you to think about abandoning this.

    I think it is a mistake to defend WP way of handling things because its the way it has always been, or because its popular. BP may be a WP plugin, but it has its own set of complex problems that need to be solved, and more advanced solutions need to be designed. There are many ways to refactor code using wrapper classes, etc, and maintain backwards compatibility.

    My two cents on the activity stream is that it should be designed as a registry of component activities. It must have a clearly defined class interface that must be adhered to. Any time the activity stream is called/viewed, the registry calls template methods (which are defined by the class interface) for each record found. This is very similar to how the format_activity() idea works, except all of the components are currently hard coded into the activity component, which is not very extensible.

    I don’t think there is a way around caching/denormalizing to solve the performance issue. The options are to keep the data normalized, and call it on demand, with the option to cache, OR to pre-format it the way you like, which is really just denormalized data but not in the traditional sense. In any case, the original data needs to be normalized, and any cached or denormalized data can’t be treated as a stand alone “object.” Its only there to speed up performance.

    @mrmaz

    Participant

    @pimp

    Can you please provide some more information about your issue…

    Are you able to create any links at all, or does it happen all the time?

    Does it occur on create/admin or both?

    Is there a specific kind of data that causes this?

    @mrmaz

    Participant

    You guys should check out my plugin BuddyPress Links. The newest version 0.2-RC1 supports embedding of YouTube, Flickr, and metacafe videos, with more sites to be added soon.

    https://wordpress.org/extend/plugins/buddypress-links/

    https://wordpress.org/extend/plugins/buddypress-links/download/

    It is not styled like a gallery, but this is very possible with theming.

    Originally I wanted to create a media library plugin, but I quickly realized that mash-ups are the future. Hosting your own media library is like trying to re-invent the wheel. There is so much that goes into streaming video, its mind boggling. YouTube and Flickr already dominate the Internet as far as rich media goes. If you can’t beat ’em, join ’em.

    @mrmaz

    Participant

    I need the interface and theme gurus to step up to the plate and submit some patches. I am 95% coder and 5% designer, so rely on the community to bail me out when it comes to these strange browser quirks.

    @mrmaz

    Participant

    After reading the entire thread, I am going to have to say that Jeff has nailed this one. All of the solutions being offered are trying to work around a design flaw, instead of correct the flaw.

    To fix this issue, or rather to re-design the threaded activity comment feature so that it will be extensible, there has to be a serious change to the thought process of how this component, and eventually how all components are designed in general.

    WP seems to be built around this “buckets of data” concept, where you just kind of create a container for data, label it, and go get it later. All of these buckets of data are sometimes associated with lookup tables, and sometimes associated with meta data entries acting as a lookup key, and sometimes not even associated at all; they are COPIED. This type of design is also prevalent in BP.

    It is such a bad idea to copy data, and then begin associating other records with the copy, I can’t hardly stop myself from smashing my monitor to bits over the thought of it.

    At the point you begin to do this, you might as well stop using an RDBMS and go back to text files, because that is how it is being used, as a directory of files, not for normalized relational data.

    I understand there is short time here, but the problem must be solved with a clever design to associate all of the records in the proper way so there is a strong foundation to build on. I’m sure it will still be necessary to cache the data WHEN QUERIED, and there is nothing wrong with caching data (or careful de-normalization) for optimizing. It is a huge mistake, however, to pre-cache associations and treat those “virtual” associations as a new record.

    Think about it this way. If you are afraid to delete records from a cache table because it will cause permanent data loss, then you really messed up somewhere.

    I am willing to help out with this, if there is a willingness to do the right thing, and not what is needed to git’r done yesterday.

    @mrmaz

    Participant

    @Jake

    Thanks for the report. That is wierd, I always thought Safari and FF were supposed to render the same?

    I would appreciate if you could submit a patch to fix any Safari issues, as I don’t have access to a Mac right now.

    @mrmaz

    Participant

    @Lsm_267

    Did you remember to copy the “links” directory into your theme?

    @mrmaz

    Participant

    @cynthiablue

    I think you are smart to hold off on using it for production yet. This version has only been tested by 2 or 3 people so far. Try it out on a test install first and play around with it, report bugs, etc.

    If enough people test it out, it shouldn’t take long to tag it as stable!

    @mrmaz

    Participant

    Just tagged version 0.1.3

    * Fixed bug where Comments was not showing up in link list nav bar

    * Many l10n fixes, big props to Chouf1

    * Added support to control voting behavior with config constants and filters

    * Added Spanish translations, props to laloma

    * Improved Fotoglif support due to changes to their API

    @mrmaz

    Participant

    I just created a group for BuddyPress Links where I will be posting the latest news about the plugin’s development. Joining this group will be the best way to make sure you stay up to date!

    https://buddypress.org/groups/buddypress-links

    @mrmaz

    Participant

    @Squashroby

    Is it possible that you are running PHP4? BuddyPress-Links requires PHP5. I guess I should add that to the requirements.

Viewing 25 replies - 176 through 200 (of 222 total)
Skip to toolbar