This module is confusing people on https://drupal.org/node/1978010.
I have officially declared this module as "unsupported" by the Bootstrap base theme.
There is no logical reason why a module is providing theme related tasks like this. A theming framework should be implemented via a theme, not a module.
This method of CSS and JS loading also remains in effect, regardless of what theme you have enabled. If a person decides to change their theme, they would also have to disable this module. That isn't apparent because modules shouldn't be injecting theme level CSS and JS like this... very bad DX (developer experience).
Furthermore, this module is loading the compiled Bootstrap CSS and JS (ie: you cannot change the Bootstrap variables). This is highly discouraged since http://bootstrapcdn.com and essentially does the same thing; it however does at least provide the minimized version.
Ultimately, this module does not actually provide any usefulness as all of this can be (and should be) done in a theme (regardless if it's the Drupal Bootstrap base theme or any other custom theme).
Please remove the releases and mark this module as obsolete and not-maintained.
Comments
Comment #1
hatuhay commentedI cannot see a bug on your summary, so I am changing the category for Feature Request.
Actually it took me a while to find your request, until I finally found it: the module is loading Bootstrap libraries regardless of the theme, well it is fixed on 7.x-1.1!!
In regards to your personal opinion I respect but do not share:
Comment #3
markhalliwellI'm sorry that you do not "agree with me", but this isn't about "me". It's about community co-operation, reducing duplicated code and using Drupal Best Practices™. I am moving this to https://drupal.org/project/issues/webmasters so others can weigh in (so it's not just "me" who has an "opinion" of why we don't need duplication and confusion).
Comment #4
dddave commentedModule in question: https://drupal.org/project/bootstrap_library
Comment #5
markhalliwellAs well as https://drupal.org/project/bootstrap_api (I forgot about this one).
During #1840980: [meta] Bootstrap 3.0, it was discovered/decided that "library" support is really not needed or necessary. The reason being:
A Bootstrap theme's "library" is actually semi-coupled with the version it was created with: (ie: you cannot put Bootstrap 3 source in a Bootstrap 2 theme, it must be refactored). It is far better DX (developer experience) to have the resources in the theme's root folder as separate './bootstrap' directory. This allows the theme to be transportable and maintainable.
If there are several that need the same styling or implementation, then a base/sub-theme can be created and each theme can declare this theme as it's "base theme" (effectively turning them into grandchild themes; sub-sub-themes). This is how themes should be built, not injecting CSS and JS via a module.
This concept has been even more enforced as I have been creating/discovering the development workflow with #2102895: Add SASS starterkit.
Comment #6
markhalliwellComment #7
blackice2999 commentedHi,
@mark,
its polemic to declare bootstrap_api as duplicate work. At the beginning i tried on multiple issues from bootstrap theme to get feedback about a possible coworking or merging features between theme and module... no success to get a answer... and now 1 1/2 years later you declare them as duplicate? this is crazy.
you tell its not need library support on this or a module should inject this? You are wrong. bootstrap_api implements modal dialog, popover support over field ui and so on... Tell me how you want to do this in a theme...
Sorry but i am angry about your manner on this.
(sorry for bad english)
Comment #8
hatuhay commentedComment #9
hatuhay commentedThis is from your own issues.
https://drupal.org/comment/8661041#comment-8661041
They say "Created subtheme on folder /sites/mysite.com/themes/subtheme_name - everything works as Method 2 (CDN) also works when adding Bootstrap compiled source files through Bootstrap Library"
I read all your refered issues and have not found a single problem, again it is all about you.
Comment #10
dddave commentedOk folks, don't let this go out of hands here. Both sides have clearly spoken out for their position. I don't think this can continue into a healthy direction without further input from outside (i.e. not a stakeholder in one of the modules/themes involved). Let's wait and hear what others have to say.
Comment #11
dawehnerLet's deal with those problems how the nature does: Provide a couple of alternatives, give FREEDOM to the people
and let the every alternative have its niche.
Comment #12
develcuy commentedHey there, my name is Fernando, you can check my profile: https://drupal.org/user/125473
I used to contribute a lot to Drupal, created about 15 modules and participated as co-maintainer of other 10+. Got to deal with "duplicate module" complains before, but never seen over reactions like the plethora from @Mark Carver.
Ok @Mark has solid technical points, but he is not following the fundamentals of DCoC.
Do you know why I stopped to contribute to modules actively? because drupal.org is not "fork friendly". All this reports about duplicated modules and people confused because of project names is all bull@%#!. This is a free software project, projects come and go naturally, we can't force people to not contribute, or to work together, or to contribute only this way or other way. Everyones contributions are welcome!
Also, it is really a nasty practice to write documentation that clearly has the purpose of driving people to a certain module, just to favor his own module. That is unfair and malicious. We can not admit that behavior within our community!
I request to ban @Mark's account, to revert all the changes he did to documentation, and to transfer ownership of his modules/themes to a new maintainer.
Comment #13
dddave commentedWay to go escalating the discussion. Highjacking the issue for a personal rant while "no longer contributing" sounds like exactly what the DCoC is made for.
I'll boil your points down to: leave 'em alone.
Comment #14
dddave commentedI did some thinking and also tend to dawehner's philosophy. Those modules do present a different approach and while Mark has solid points I don't think we can nor should police the community in a that far reaching way.
This does seem different than simple functionality duplication between two modules (aka the normal duplication case).
My two cents.
Comment #15
jackbravo commentedI agree on all points with Fernando, except on banning Mark. He is right, the community should promote tolerance, openness and freedom of choice. It should also educate its members on this values. So for now, just a firm clarification should be enough =).
dddave has some solid points too. Let it be.
Comment #16
sunI studied the situation, and I also talked to @Mark Carver in IRC to get a better understanding of the root cause (whereas doing so did not affect my ability to have an unbiased view on this issue).
The Boostrap (base) theme integrates the Bootstrap theme framework into Drupal as a base theme.
It is a (base) theme.
The Bootstrap Library module is an attempt to enable Bootstrap theme framework components (for developers, in a piece-meal fashion) via Libraries API.
It is a module.
Both approaches clearly cannot work in parallel at the same time.
It is easy to see that enabling Bootstrap Library module after enabling the Bootstrap theme (or vice-versa) will completely hi-jack your site's CSS and themed output.
Both approaches have merit, and each one serves a completely different target audience.
There is no duplication in efforts, because the approaches taken are fundamentally different.
This issue was escalated too early to webmasters, which inherently heated the communication even further.
The most sensible compromise for all affected parties/projects is to add a note like the following to their project page:
The communication in here involved many references and (seemingly) "facts" (which normally help to resolve misunderstandings), but at the same time, the communication also was not friendly and collaborative. It's a result of group dynamics, and either everyone or no one is to blame for that, so I go for the latter.
If I'm allowed to make a suggestion to prevent this in the future, it can sometimes help to (minimally) re-phrase sentences by putting a "The way I see it," in front of statements, and completing those with ", would you disagree? I'd like to better understand your concerns." (or similar).
Thanks everyone!
Let's collaborate together to make Drupal rock! :-)
Comment #17
develcuy commentedYou are right @jackbravo, I exaggerated by asking to ban @Mark Carver, sorry about that.
@sun, @dddave, thanks for your help resolving this issue and sorry for the noise.
Comment #18
hatuhay commentedThanks @Sun,
I agree in the way of treating the problem an appreciate any single post in this thread.
"Both approaches clearly cannot work in parallel at the same time.", is not true.
I kindly ask you to test both Theme and Module together and share with us what you find.
Just enable Bootstrap Theme, disable CND on themes admin and activate/configure bootstrap library.
If you find any conflict I will say so on bootstrap_library documentation, if you don't please ask @Mark to take out any negative comment to bootstrap_library from all its documentation.
Drupal cannot end with Themes an Module mantainers saying "not compatible with..." when they just dislike other module.
This is about co-working, sharing and colaborating.
Comment #19
markhalliwellYes, this has indeed been blown way out of proportion. It was never my intent to seem harsh or unaccepting of different methods.
My responses to the two maintainers
@hatuhay,
I have removed your module from the "Unsupported" section of the documentation (the section is still needed with the LESS module at the moment because of it's issues). I ask though that you wait to add this back until #2227899: Change sub-theme documentation to have "advanced" section instead of "methods" can be addressed. I think this is very critical in helping the majority of people who aren't proficient themers to not get confused or overwhelmed by the many different ways to in providing the Bootstrap framework resources. This most certainly will get even more complicated once I add #2102895: Add SASS starterkit into the mix as well.
@Blackice2999,
Yes. I did lump in the Bootstrap API module, without actually looking at the code. I must apologize. Your module uses libraries as a way to inject the JS components of Bootstrap, but it has much more to offer than I realized. It definitely has some functionality that could be moved into this base-theme. In writing this, I actually did some research and found the module I actually meant to include: https://drupal.org/project/twitter_bootstrap_ui (which ironically and technically bootstrap_library duplicates, but I'm not going to pursue that any further). Also FWIW, you tried integrating almost at the same time I was onboarding into this project. There was #1838982: twitter_bootstrap_ui module and, IIRC, had some confusion around what to do with it. I duplicated it in favor of #1852332: Integrate with the Libraries API module. Which in turn, led to a discussion about #1957620: [META] Refactor code to allow for either CDN or sub-theme source files.. It was discussed in chat (probably Skype or IRC, I cannot recall) and determined that "libraries" support was probably not a viable option for a sub-theme's portability. In retrospect, this completely sideswiped the rest of your module and for that I again apologize. A lot of this was simply trying to clean up such an obvious mess. I would be happy to [re]visit this, honestly. You have some great ideas.
tl;dr
I take full responsibility for the entire discussion of this issue. This issue was not necessary and it's noise was initiated solely by me. I am truly sorry for any animosity felt.
I am human, just like everyone else. I promise, I really am not this malevolent. It is and always will be my goal to make Drupal as awesome as it can be. FWIW, I think this is a wake up call for me and I plan on taking some time off next week to re-center and get my zen back :)
---
This issue's back story
For those interested, needing more of an explanation or maybe just for me to just get this out of my head and clear my conscience; I feel I must give some backstory as to how this issue came about (as I believe in full transparency, whenever possible):
I have been working insanely long hours these past couple of months. Not only do I have a full time job, but I also involve myself with several Drupal related projects on the side. I have email notifications turned on for the Bootstrap project because, in a personal effort to standardize Bootstrap in Drupal, I feel I must be responsive (see Bootstrap history below). This clearly has worked to my disadvantage on this fine day and I have now disabled it.
Over this past week (especially the past couple of days), I was bombarded with constant issue creations/emails from one individual: #2237749: Abuse of Issue Queue. This individual was using a method that, I personally, have not used/tested (bootstrap_library). I could not provide support for something I didn't create/know (code wise) about. This individual insisted on using both the LESS and Bootstrap Library modules. At the time, I felt I didn't have the time to troubleshoot this effectively and introduced an "Unsupported" section on the Bootstrap base-theme's documentation page (something that I actually have been thinking about for a while). "Unsupported" does not mean the same thing as "Conflicts". It means that this project doesn't integrate with this module intentionally and some undesired consequences may occur (which I believed to be true at the time since I hadn't actually used this method and couldn't attest to it's authenticity).
I admit that I have very little time/patience for people who continue asking the same questions. Especially after I had clearly and directly given them the resources/answers to figure out their unique issue. I don't view issue queues as a "support" medium, they are here to deal with issues about the project code... not an overall concept (unless explicitly specified/assigned otherwise). We have other mediums (support forum and Drupal Stack Exchange) for "questions", "how-tos", "help I don't understand X". Anyway, that is an entirely separate topic and only my opinion, others may happily disagree.
I created this issue because I myself was overwhelmed. Not realizing it, I had transformed my own personal issue into something that wasn't actually relevant to this issue and at the same time convinced myself that "this module [bootstrap_library] needed to go" in literally a millisecond.
Today, I finally relented and oiled the squeaky wheel: #2237551: Provide a method to use compiled Bootstrap files from local directory. Ultimately, the individually got their help and I hope some fundamental preprocessor compiling knowledge.... but I really do not know if that's true :-/
I would like to make it very clear: I am not blaming this individual or anyone else. I take full responsibility for my impatience and quick judgements. I am simply explaining how my brain works and how I got from there to here.
Bootstrap history on d.o
The theme has had a very bumpy history between multiple maintainers and project names: #1818086: Rename twitter_bootstrap to bootstrap, #1255934: licensing problems , #1417024: Bootstrap 2.0, #1594508: Merge in other d.o Bootstrap projects.
I honestly never felt that the base-theme was "mine". In fact, I have always considered it a collaborative project (in fact, I was aware it was already started by several other individuals).
So today, I started to question if I somehow started "bullying" or "take over" things. Worried, I decided to ask the current project's owner (@wundo) if I had "taken Bootstrap over or consider it "my" project". His response (paraphrasing here) floored me:
To say the least, I was actually pleasantly relieved/surprised at this :D He is right, I should (and do) have an immense amount of pride in what has been accomplished with this, now, base-theme. I have spent the better part of a year, countless and sleepless hours, getting this project to the point it's at now: from around 4,000 installs to now over 20,000 installs.
When I joined the project (a little over a year ago), the Bootstrap "theme" was barely a theme at all, let alone a "base-theme". There was still a lot of confusion around how to get it to actually work: #1844448: Add sub-theme starter kit.
So I applied for co-maintainership: #1948210: Co-Maintainer Application. @wundo was hesitant at first :) Which I completely understood, it already had (at the time) 6 or 7 "maintainers" (many of which have been inactive). So he and I had a chat and I told him my goal: "consolidate, cleanup and focus". I became an official co-maintainer almost one year ago exactly. In an effort to be aware become responsive, I turned on email notifications for this project. It has worked wonderfully up until this point.
One of my first official acts was actually creating the documentation page specifically for this project: #1856832: Create a documentation section and update the documentation. As with other contributed theme documentation, it is project specific, not framework generic. Documentation is needed for specific projects and how they function. It is a year's worth of trial and error, combating confusion, new features, etc. The documentation for this project has taken on a life of it's own and several sub-sections have been added (many of which I didn't create or have not really touched). Yes, I will admit that I guard the changes to the main documentation and sub-theme "how-to" pages to ensure they are in line with the project as a whole. This is simply a necessity to avoid confusion (see #2220735: Remove all comments on Bootstrap sub-theming "how to" documentation page).
I have diligently groomed the issue queue for the past year and helped where I could, but it really wasn't until #1840980: [meta] Bootstrap 3.0 that this became a true base-theme. I organized https://www.drupalfund.us/project/bootstrap-3 and as that meta issue shows, many issues were created and many contributors (besides myself) helped make this (seemingly) pipe-dream into an amazing reality.
I remember having a chat with @valkum and @el7cosmos at one point (two of the other major contributors to the 7.x-3.x branch) in #drupal-bootstrap one day about libraries support. We had discussed and yes, I concluded (due to deadlines of various projects) that it was not fundamentally necessary to add this type of documentation support. This concept, while simple to others, can be considered extremely complex and advanced for others. I made the judgement to keep the documentation "simple" (which is still an overstatement). It is clear that here needs to be even more clarification to the documentation.
I can see now that my overview of the Bootstrap project is probably larger than most, given my sheer amount of involvement over the past year. While it may sound like a logical approach in my head, I need to remember that not everyone has the luxury of knowing the full history.
Conclusion
I am, again, truly sorry. I let my emotions guide my actions. I vow to work on my communication style and to sleep more. My only request is that we can put this behind us and move forward (hopefully together).
Sincerely,
Mark Carver