Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Thoughts and frustrations about Shoreditch #38

Open
seancolsen opened this issue Sep 2, 2017 · 2 comments
Open

Thoughts and frustrations about Shoreditch #38

seancolsen opened this issue Sep 2, 2017 · 2 comments

Comments

@seancolsen
Copy link

I have been playing with Shoreditch and I want to share some of my thoughts. I'm new to Shoreditch and new to Bootstrap. So I apologize in advance if these thoughts are misguided. At the very least I acknowledge that they're not sufficiently actionable and succinct to produce a good ticket. But this stuff has been on my mind a while and I wanted to share it somewhere...

Summary

First of all: thanks for all your hard work on this! I see CiviCRM's outdated UI/style as a huge weak point which our competitors are leveraging against us. Kudos for making big improvements in this important area!

I get the impression that the Shoreditch project is trying to do two different things at the same time: (1) allow developers to write markup compatible with Bootstrap 3.x.x, and (2) improve CiviCRM's visual appearance. Both goals are commendable! But I think that lumping them together has the potential to slow progress on both fronts.

Details

Note: there are lots of questions below. I'm not looking for answers. They are just rhetorical.

With the introduction of Shoreditch I now face the following question: "how do I write markup for a new extension? Do I use markup compatible with crm-* or markup compatible with bootstrap.css?" This question then leads to a somewhat complicated tree of other questions.

  • If I choose crm-* markup within my extension, then...
    • 🚫 I don't get to take advantage of the style guide
    • 🚫 I don't get to use Bootstrap.
    • ❓ What conventions should I follow to ensure that my markup will look good with Shoreditch's custom-civicrm.css, even as custom-civicrm.css continues to evolve?
  • If I choose bootstrap.css markup within my extension, then...
    • ❓ How do I deal with the fact that my extension requires Shoreditch but CiviCRM doesn't provide a mechanism for enabling extension dependencies?
      • ❓ If I am to communicate this dependency to users, then how do I help users overcome a fear of drastic change? Since much of the marketing around Shoreditch (e.g. Jamie's blog post) has focused on custom-civicrm.css, my guess is that users probably don't understand that enabling custom-civicrm.css is optional. Thus, they might avoid my extension because they think that Shoreditch would make a bunch of sweeping (and potentially troublesome) changes to the rest of CiviCRM's UI.
    • ❓ Should I recommend to my users that they also enable custom-civicrm.css?
      • 🚫 If "yes", then their interface might look a bit funky due to the quirks present with custom-civicrm.css.
      • 🚫 If "no", then the interface of my extension looks somewhat out of place within the rest of CiviCRM's interface.

This whole situation just feels like a pickle to me. Shoreditch looks so awesome, but it's hard to really understand how I should be taking advantage of these new changes. If other developers are having similar feelings, I think it's going to be hard to push this project forward

An idea to use a core extension for Bootstrap

Here's a different approach that I think would alleviate some of the above confusion.

  1. Create a new extension called "Bootstrap 3" which would be included within core and allow developers to write markup compatible with Bootstrap 3. CiviCRM would render this markup to look visually similar to the existing CiviCRM UI (e.g. colors, spacing, etc). Ok now developers can immediately begin using the new markup without worrying about the above questions.
  2. Keep the "Shoreditch" extension mostly as-is, but have it replace the "bootstrap 3" CSS with Shoreditch CSS.

Conclusion

Sorry for the long rambling ticket. I'm not really requesting a specific change here — just expressing some frustrations and tossing out an idea. Please let me know if I've misunderstood anything about this project. Also please feel free to close this ticket whenever you like.

@MegaphoneJon
Copy link

Just a quick flag that support for extension dependencies is getting a lot of attention these past two weeks, and is a priority for many people, so I think we can expect it to land before Shoreditch becomes final. That may change your feelings on a bunch of this!

@seancolsen
Copy link
Author

It's true, better support for extension dependencies would help!

davialexandre pushed a commit that referenced this issue Oct 6, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants