WordPress.org

Ready to get started?Download WordPress

Forums

Suffusion
[closed] Dangerous Architecture here (30 posts)

  1. fireproofsocks
    Member
    Posted 2 years ago #

    Firstly, I salute the theme author for putting a lot of time and effort into this: clearly, this is a guy who cares about his work. It's a clean layout with well thought-out features.

    However... let me be blunt: this theme should be removed from the WordPress repository. It is not a theme: it is a plugin. And this "theme" breaks every possible rule of sensible architecture imaginable. What is going on here is that the controller and model layers of the application have been forced into the view layer. This is a gross perversion of MVC with dire consequences. You can't disable portions of it like you can disable plugins, and because it weaves itself into the core application with stuff like custom post-types, it becomes nearly impossible to disable the theme to change your site's skin.

    I could go on, but the point is that this theme does things that would not be allowed in any sensible software project: WordPress already plays far too loosely with architecture, but this theme is trouble, and I would strongly advise people to avoid using any theme that abuses the view layer in this way: it will eventually cause your site to collapse from the inside-out. User beware.

    http://wordpress.org/extend/themes/suffusion/

  2. Sayontan Sinha
    Member
    Theme Author

    Posted 2 years ago #

    It is not a theme: it is a plugin.

    No, it is a framework. It lets you enable / disable a lot of its functionality either through the back-end options or through plain non-use.

    it weaves itself into the core application with stuff like custom post-types

    The theme is quite old and it pre-dates the existence of several plugins. This is one functionality that was written before any plugin existed for it. Be that as it may, you are in no way tied to using this functionality - you could use a custom post types plugin and be perfectly happy with both coexisting.

    it will eventually cause your site to collapse from the inside-out

    With over 600,000 downloads until this point and a user base in several millions, you would think sites must be collapsing willy-nilly.

    Every time you pick a theme (even TwentyEleven) you make a conscious decision to accept theme choices and you even start tailoring your content around it. E.g. What happens if your theme offers special handling for a Gallery post format? My current theme might show me 4 thumbnails on the front page and might rely on the "more" tag to display content in this manner. When you change themes the new theme might not deal with galleries in this manner, so you might have to edit your content.

    A theme you pick might offer specific templates to make things work, or widgets or shortcodes or SEO support. Every time you use any such feature, you make a decision to add a barrier to your migration process. Any time you use an action hook or filter hook defined by a theme in a child theme, you make a decision to add to your barrier. With any child theme you design the problem aggravates.

    Far from being a "perversion", this is a reality of how advanced themes operate. Try using something like Thesis, then switching to Headway or Catalyst. Or try switching from Hybrid to Thematic.

    Anyway, FYI, I am a fairly conscientious developer and I do build functionality that can be severed easily. E.g. I believe apart from 1 shortcode provided with the theme, all others can be carved out into their own plugin. Ditto with widgets. And I do have plans to offer as plugins all bundled functionality that can be cleaved, so that users are not left out to dry upon moves.

  3. fireproofsocks
    Member
    Posted 2 years ago #

    I understand your response. If this is a plugin it should be downloaded as such: as a theme, it becomes virtually impossible to deactivate functionality.

    WordPress does not follow MVC and it causes MASSIVE problems, but most PHP devs are oblivious to it -- I don't care if every single WP user out there flames me for it, the WP theme architecture is terrible and should not be used as a model for how to implement a theme. A theme should NEVER contain any loops or logical statements, so in my mind ALL WordPress themes are flawed because they put controllers and logic in them, but the Suffusion theme goes far beyond that. It's my 2 cents there, but I think any senior developer would back me up on this.

  4. Sayontan Sinha
    Member
    Theme Author

    Posted 2 years ago #

    If this is a plugin it should be downloaded as such: as a theme, it becomes virtually impossible to deactivate functionality

    Firstly, and I repeat, this is not a plugin - it is a framework. Given that both themes and frameworks are released through the same channel, I don't see why Suffusion should be excluded. If you are questioning the inclusion of frameworks in the themes repository, that is a different problem altogether.

    Secondly, which functionality can you not deactivate? Bear in mind, what the back-end UI doesn't let you explicitly deactivate, you can disable via removing the corresponding action from the appropriate hook.

    Thirdly, I am yet to come across a situation where a user has desired to use a plugin and has failed to do so because the theme offers Hobson's choice with respect to bundled functionality. There are plugins that will not work, but that is more due to scripting conflicts rather than an ideology conflict with respect to functionality.

    but the Suffusion theme goes far beyond that

    It goes no further than any framework. The difference is that a traditional non-UI framework makes you activate/deactivate/develop functionality via a child theme's functions.php, and Suffusion lets you do most of it via the options panel. Being a framework it has most of the flourishes and blemishes that every framework has, and that includes plugin functionality.

    My response here is not meant to challenge you. Rather if you can provide inputs on how you envision activation/deactivation happening, I will be glad to incorporate them assuming they are practical and architecturally sound. But one fact will remain - this is a theme framework, and it will continue being so. The day WP offers a capability to upload themes along with related plugins (or the day the WP theme manager can allow installing all associated plugins for a theme), this whole discussion will be moot.

  5. fireproofsocks
    Member
    Posted 2 years ago #

    It's fair for you to challenge me (hey, this thread is challenging you). I'm not known for being politically correct. I do admire the hard work you've done here. I just feel it's misguided.

    The whole concept of a "theme framework" wrankles me intensely: there shouldn't be such a thing in my opinion. If you ever have to debug your view layer, then something is fundamentally wrong with the architecture. WordPress themes are tolerable, but they are severely flawed because they incorporate logic. One key tenet MVC development is "keep logic out of the view". Period. I've worked on enough projects where that rule was disobeyed to know how dangerously difficult they became to maintain. There is a reason that frameworks are popular (not "theme frameworks", but standard MVC frameworks): Ruby on Rails, Django, Catalyst, CodeIgniter, Kohana, Zend, etc. all obey MVC rules and those are the tools that get used for serious sites. WordPress isn't a great platform for following architectural rules, and I feel it's done a disservice to the developer community by showing a bad example. Lots of devs think the WP architecture is somehow "normal" or "good". It is neither, unfortunately.

    I would recommend you release this as a plugin: you've put a lot of work into it, but its functionality is that of a plugin, so it's misleading to label it as a theme if for no other reason that a developer isn't going to look to the theme directory as the place where additional functionality gets introduced. You may want to spin off the theme components into a dynamic theme and let the 2 work together. That would make a lot more sense to an uneducated 3rd party, and I feel that would break fewer architectural rules.

  6. esmi
    Forum Moderator
    Posted 2 years ago #

    there shouldn't be such a thing in my opinion.

    Tell that to Thesis, Thematic, Genesis - to name but a few. This is WordPress - not Joomla or Drupal or A.N.Other web publishing system - but WordPress. And frameworks have a definite place within the overall structure with a strong developer user market. Any suggestion that Suffusion should be released as a plugin is - I am sorry - quite laughable.

  7. fireproofsocks
    Member
    Posted 2 years ago #

    I'll stick to my guns: it's actually the WP template architecture that is quite laughable. It's fundamentally wrong, and I don't care if the entire WP community follows you off that cliff like a swarm of lemmings. Calling some of those things "themes" is a gross perversion. Polluting the view layer results in sites that are poorly coded and a pain to maintain. You can spend your time telling me why that approach is legitimate and I can tell you what the paycheck of a senior developer looks like: no real developer with an ounce of MVC experience would condone the way WP handles this.

  8. esmi
    Forum Moderator
    Posted 2 years ago #

    it's actually the WP template architecture that is quite laughable

    Then get involved in the core development and press for some of the changes that you feel are important. Standing on the sidelines throwing insults about really isn't going to change anything, is it?

  9. fireproofsocks
    Member
    Posted 2 years ago #

    I've devoted plenty of time supporting WordPress, thank you -- profits of my book go to support it specifically. I have filed bugs; some of them were defended as "features" due to what I think is simple myopia and lack of experience. I'm not making noise here just to be a prick: I'm trying to change the course... perhaps ineffectively. I don't believe I have thrown insults around; apologies if I have. However, I'm not going to smile and compliment the Emperor's clothes either. I could patch bugs all day long in the core code but it wouldn't change the fundamental flaw here: if you allow controller logic and plugin code in your view layer, then you end up slipping down that slope into an untenable mess.

    In other words, you have to stop the flow of blood here and get rid of themes that allow for that kind of thing (Thesis, Thematic, Genesis, et al) before you will have any wiggle room to address the underlying causes. With so many of the new features of WordPress 3 moving in the exact opposite direction, I don't have much hope that the architecture will change course.

  10. esmi
    Forum Moderator
    Posted 2 years ago #

    This is really not the right forum to raise these issues. You are preaching to the wrong people. This is a support forum. And, in my personal opinion, it's really not on to raise what appear to be long held opinions about fundamental core design by attacking a single theme/framework. From a purely English perspective, that really isn't cricket, old boy.

    If you really want to use the forums to relay your message to the core devs, I'd suggest posting something in Requests & Feedback. But, if you want to actually start to change things, you'd be far better off doing it from the inside. Donating profits is great. Filing potential issues in Trac is often useful. However, nothing - but nothing - is going to beat actually getting involved in core development.

  11. fireproofsocks
    Member
    Posted 2 years ago #

    Fair enough: this is probably the wrong place for this.

    I've tried to get involved here -- I'm halfway through my 2nd WP book and I have yet to have a single email or post answered by anyone on the core team in multiple forums, so I've pretty much given up on bending anyone's ear. If you've got links to specific forums or a hotline to developers who can clarify specific architecture issues, I'd love to have them.

  12. Chip Bennett
    Theme Review Admin
    Posted 2 years ago #

    A theme should NEVER contain any loops or logical statements...

    Um, what...?

    If you really want to have these discussions, and to air these complaints, I invite you to do so on the theme-reviewers mail-list. That's the primary place where matters regarding what Themes should and should not do are discussed and decided.

  13. Sayontan Sinha
    Member
    Theme Author

    Posted 2 years ago #

    From a purely English perspective, that really isn't cricket, old boy.

    For the cricket reference, I tip my non-existent hat :-)

  14. Samuel Wood (Otto)
    Tech Ninja
    Posted 2 years ago #

    Feel free to email me directly if you want to have a lively and spirited debate about MVC and why I think it's actually awful for most web projects. :)

    otto@ottodestruct.com

  15. fireproofsocks
    Member
    Posted 2 years ago #

    Link to theme-reviewers email list? Link to someplace where core developers actually respond to discussions or emails? Thanks. I've been trying for over a year to have those types of discussions and my co-author or I never got a single response, so forgive me if my conclusion was that the captain had abandoned ship.

  16. Chip Bennett
    Theme Review Admin
    Posted 2 years ago #

    Link for theme-reviewers mail-list:
    http://lists.wordpress.org/mailman/listinfo/theme-reviewers

    Core developers do, at times, contribute to discussions; but that's not especially relevant. Regarding WordPress architecture: that ship sailed long ago, don't you think?

  17. Darren Slatten
    Member
    Posted 2 years ago #

    fireproofsocks,

    Before you invest too much time and energy exploring the theme-reviewers mailing list as a potential vehicle for "changing the course", I strongly encourage you to spend a few minutes reading some of the past discussions that have taken place there. Here are a few of my own personal favorites:

    http://lists.wordpress.org/pipermail/theme-reviewers/2011-July/006128.html
    http://lists.wordpress.org/pipermail/theme-reviewers/2011-July/006176.html
    http://lists.wordpress.org/pipermail/theme-reviewers/2011-July/006182.html

    TLDR: The mailing list is a waste of time unless your only goal is to gain insight into how/why the WP theme/plugin system got so thoroughly effed in the first place. If your goal is to initiate changes that will un[expletive deleted] WordPress at an architectural level, you'll quickly realize that WordPress is 100% open-source, 0% open-minded.

    If WordPress is the 8th grader of CMSs, then the theme-reviewers mailing list is the comment stream on that 8th grader's MySpace profile.

  18. Chip Bennett
    Theme Review Admin
    Posted 2 years ago #

    Translation: Darren Slatten lost an argument regarding the appropriate use of output buffering in Themes, and is still upset about it.

    Changing the WordPress architecture really isn't the point of the OP, which rather was to discuss Theme-specific issues. Currently, the best place to discuss Theme-specific issues, regarding what should and should not be "allowed", is the theme-reviewers mail-list. If you have an alternate suggestion - or, for that matter, anything that's actually constructive to add - by all means: suggest it.

  19. Chip Bennett
    Theme Review Admin
    Posted 2 years ago #

    @fireproofsocks:

    With so many of the new features of WordPress 3 moving in the exact opposite direction...

    Sorry, but I have to ask: what is WordPress 3?

    Also: what do you consider to be a good example of a WordPress Theme?

  20. Darren Slatten
    Member
    Posted 2 years ago #

    Darren Slatten lost an argument regarding the appropriate use of output buffering in Themes, and is still upset about it.

    I don't think anyone won/lost that argument, Chip. But you're right about me being upset by it though. It was rather disturbing to realize that WordPress is basically one big patchwork of bad ideas, unchecked opinions, and a long legacy of arbitrary decisions made by a "team" of developers whose only shared vision of WordPress's future is one in which they are right and everyone else is wrong.

  21. ambrosite
    Member
    Posted 2 years ago #

    Feel free to email me directly if you want to have a lively and spirited debate about MVC and why I think it's actually awful for most web projects. :)

    Otto,

    I don't want to take this thread any further off track, but would you please write a blog post explaining further? I would be very interested to hear your take on MVC for web projects.

  22. fireproofsocks
    Member
    Posted 2 years ago #

    Thanks for the many interesting comments and thanks for the links.

    Changing the WordPress architecture really isn't the point of the OP

    Actually, Chip, changing the architecture is EXACTLY my intention. By WordPress 3 I mean any of the WP 3.x versions -- the post format feature was one that made me groan because it complicates the theme layer. About the only WordPress theme I can stomach is Starkers, i.e. one that doesn't get in my way. Otto made some very good arguments for the way things are the way they are, and I think Darren aptly compared it to 8th-grade, but hey, we all went to middle school at one point. I just want to graduate.

    If I may summarize Otto's points, he was quite even-handed saying there isn't necessarily one way that's 100% right or 100% wrong. WP code is easy for beginners to understand, and that makes it attractive. It does not, however, necessarily make it well architected or easy to maintain. So there are pros and cons.

  23. Edward Caissie
    Theme Review Admin
    Posted 2 years ago #

    About the only WordPress theme I can stomach is Starkers, i.e. one that doesn't get in my way.

    ... just curious why you would choose to use Atahualpa on your "profile" site if Starkers is your theme of choice?

  24. Chip Bennett
    Theme Review Admin
    Posted 2 years ago #

    Actually, Chip, changing the architecture is EXACTLY my intention.

    Then why drag the Suffusion Theme into the conversation? If it has nothing to do with Suffusion directly, then you've only served to spread FUD about a very conscientious Theme developer.

    By WordPress 3 I mean any of the WP 3.x versions...

    WordPress doesn't have 3.x versions. In WordPress, major versions are "X.Y". Thus, 3.3, 3.2, and 3.1 are just as much major versions as 3.0 - and referring to "WordPress 3" or "WordPress 3.X" is semantically meaningless.

    Surely someone with such strongly held convictions regarding the development architecture of WordPress understands something as basic as the WordPress versioning nomenclature?

  25. Darren Slatten
    Member
    Posted 2 years ago #

    Then why drag the Suffusion Theme into the conversation? If it has nothing to do with Suffusion directly, then you've only served to spread FUD about a very conscientious Theme developer.

    Actually, I think Sayontan Sinha responded admirably, and if anything, I'm now more inclined to use Suffusion because I've witnessed firsthand how conscientious he is.

    WordPress doesn't have 3.x versions. In WordPress, major versions are "X.Y". Thus, 3.3, 3.2, and 3.1 are just as much major versions as 3.0 - and referring to "WordPress 3" or "WordPress 3.X" is semantically meaningless.

    Surely someone with such strongly held convictions regarding the development architecture of WordPress understands something as basic as the WordPress versioning nomenclature?

    Translation:

    Despite the existence of well-established software versioning conventions, WordPress has decided to reinvent that wheel, and the wheel they've chosen...is actually a cube. (One of the core developers used to babysit for a family that had a cat named Cube, so naturally, it was the only logical choice.)

    Since fireproofsocks believes that wheels should be round, he obviously doesn't understand WordPress, and any ideas he has about moving it forward are probably bad ones.

    ===========================

    Nicely done, Chip. I'm pretty sure that's a guaranteed win for you in this round. Let's go to our panel of totally-unbiased judge and see how they scored this one. ...Nacin?

  26. fireproofsocks
    Member
    Posted 2 years ago #

    Haha! Well spoken Darren, on all fronts. Next beer's on me.

    Yes, hats off to Sayontan Sinha -- although I disagree with the WP architecture that allows for this sort of thing, Mr. Sinha has contributed some well-groomed code and he has responded with nothing but tact and politeness, and he's proven himself to be a gentleman. He's far more polite than my rude self.

    Re my profile page: that site was established long before I was asked to contribute to it. It's one thing to contribute content, it's another to build apps.

    Thank you all for a spirited discussion. My apologies for any hard feelings -- I've learned much about the how's and why's of the WP architecture and community.

  27. MrFlicks
    Member
    Posted 2 years ago #

    I am using Suffusion on 30+ sites presently 2012 and will be interested to see where Suffusion Theme is come 2022 and the html5 plans under way online in many quarters.

    I see no other free theme framework as versatile as Suffusion and have en started developing widgets primarily for suffusion with the first three called widgetted, twitted and portraitists. Two of which from what I can see will only work with theme Suffusion, with a quick couple of clicks install, as it comes straight out of the box as it we're.

    I think Sayontan has done a marvellous job in masses of regards and Suffusion in many ways is a benchmark for other developers.

    And I agree with the above definitely not cricket to bash the excellent and inspiring Suffusion theme framework.

    I imagine a Suffusion where all the themes colour schemes are available to the end user in the future in order to create that across the board sticky appeal but then I might get that developed if I can find a way if that is not something Sayontan has in mind to do anyway.

  28. mbrsolution
    Member
    Posted 2 years ago #

    I just wanted to post my humble comment. I am not a developer of such in respect to coding. I can understand that coding might not be as simple to grasp and implement for everyone's needs. I have read nearly everything in this post and I understand everyone's point of view.

    I just wanted to say thank you to Sayontan for such a wonderful and extremely powerful Theme "Suffusion". I have been using Suffusion now for the last 5 months and it is the only theme I use for all my projects unless the clients decides to use another theme. I have already written some simple tutorials and will keep on adding more as time goes by.

    The amount of support you receive for this theme is over the top. When ever there is a bug it is address almost immediately.

    Thank you Sayontan for such a great theme and releasing it freely for the community is a very admirable step on your behalf.

    Kind regards

  29. kilakiwi
    Member
    Posted 2 years ago #

    Mbrsolution, I second your comments. I've used Suffusion to build more than 20 sites, and Sayontan has provided immediate support for every question that I've asked in his forum.

    Suffusion is so solid that every plugin I need--security, galleries, grids, social bookmarking--all integrate perfectly with it. So far, I've not found anything that I needed to design into a site that I could not do with Suffusion, and each of my sites appears and functions differently from the others. (The Mega Menu support feature is one of my favorites aspects of Suffusion, BTW.)

    Suffusion is, in my opinion, the best framework available by far on which to build a clean, custom WordPress website. Can't thank you enough, Sayontan!!

  30. Sankalan
    Member
    Posted 1 year ago #

    OK, I read everything! @ fireproofsocks: if you so dearly hate wordpress, here is a new name - 'redefined wp'. What is that? That's a new task for you. Start building from the core and shoot up to the unlimited vastness! Please don't try to insult others.

    Remember one thing - 'Word Press is damn popular and those millions who are using this are very happy without your opinion!' So, chill, have some beer and start working on 'redefined wp' and make it as popular as word press!

    Suffusion rocks! I am in a process of building many websites. I bought genesis and later came across suffusion. I wasted my money with genesis! Since I bought it, I will use it but I will use Suffusion more.

    Now, I am a novice as far as development and coding is concerned. Can anyone tell be what should be the "header banner size for suffusion?" He he, what a stupid question but I am stuck with that! anyone? :(

    Once again, Sayontan Rocks and Suffusion Rocks!

Topic Closed

This topic has been closed to new replies.

About this Theme

About this Topic

Tags