An interest in any aspect of reality requiring concentrated attention in solitude is considered a particularly dangerous symptom. This leads to the interesting result that if anyone does take any interest in reality he is almost certain to be told that he is running away from it.
Overworld Overload: An Analysis of Link to the Pasts Light World, Part 2 - by Benjamin Marshalkowski
I published a quick reference guide (cheat sheet) for listing Drupal Console commands. The idea is to build an easy to use reference document, you can view it with modern desktop computer browser and mobile devices.
You can find this project at http://drupalconsole.com/cheatsheet/
The command information you can find on this cheat sheet is the same available commands at http://docs.drupalconsole.com/en/commands/available-commands.html documentation. In both projects, the information is exported from the main Drupal Console project and as you can expect the information within this cheat sheet is multilanguage.
You can fork this project to contribute from https://github.com/hechoendrupal/drupal-console-cheatsheetjmolivas Sun, 04/24/2016 - 21:00
The module provides a service resource which exposes Drupal's entityform fields structure to the Service API. It provides formatted field information such as label, widget, options (select fields), and whether they are required or not. This is necessary for mobiles apps and other ends to understand the fields structure and their types before accessing their values.
It has an index resource which exposes a list of existing entityforms and a retrieve resource for filtering by single entityform type (not ID).
It also supports the TableField module.
The audio quality isn't the best, but the talk I gave yesterday at LinuxFest Northwest is already up on YouTube! You can watch it here...DrupalDrupal PlanetDevOpsQualityQuality AssuranceMatrixPrometheusSaltJenkinsConcourseIcingaWraith
This module provides the Location field with map and an autocomplete for locations (Google Map API). With described tools you're able to instantly find a location and draw a polygon - its coordinates will be the value of a field.
The module depends on Google Maps Instances and provides an example instance which can be used for a field.
I have a small freelance client whose site I've offered to port to D8 pro-bono as a learning exercise for myself and a friend who's learning Drupal. It'll take a number of months to do, even though architecturally it's a small site, but that's fine. My very first step was to create an initial plan on what steps we'd need to do to to plan the site build. Seeing as this list ended up being completely generic, I figured I'd share it.Tags:
I’ll never forget Larry Garfield’s first day at Palantir, just over a decade ago. We were using Windows workstations at the time, but Larry brought a Knoppix CD into the office so that he could run Linux on his computer instead. Larry later followed the rest of the office when we switched to Macs, but with reluctance and much grumbling.
Since that time, Palantir has moved offices three times and grown to a company of over thirty people distributed around the country. Instead of acting primarily as a development shop, we now provide a full array of strategy, design, development, and support services tailored to the needs of our diverse client base.
Much of this growth and success has been fueled by our embrace of open source technologies, like Drupal, that have enabled us to create and collaborate in an open environment and provided the flexibility that helps us and our customers make the right choices.
Anyone who knows Larry knows that he’s always been a passionate advocate for software freedom. As someone who was involved in the Drupal project even before Palantir started working with it, he helped introduce us to its community as we made the transition to becoming a truly open source company. He played key roles in the development of Drupal 7 and Drupal 8, and in recent years, he’s focused on helping different open source communities share knowledge and work together toward building standards and best practices for the open web.
At Palantir, Larry’s technical leadership has helped elevate the work of our technical team and helped us build a robust and sustainable development process designed to evolve along with the ever-changing needs of our customers.
After more than ten years as part of the Palantir team, Larry is leaving the agency world to tackle new challenges. We very much appreciate the time he spent with us at Palantir, and while his presence will certainly be missed, we are also very excited to see how he applies his skills and knowledge to help improve open source software development for people everywhere.
In this classic feature, Will Luton deconstructs the original collectible card game, Magic the Gathering, and the important lessons it holds for today's video game designers. ...
Today is the end of an era. After just over ten and a half years, this is my last day with Palantir.net.
The past decade has seen Palantir grow from a company of 5 to a company of over 30. From a company that wouldn't touch the GPL with a ten foot pole to a strong advocate for Open Source, Free Software, and Drupal in particular. From a company that did mostly subcontracting work for design firms to an end-to-end soup-to-nuts agency. From having two desktop screen sizes anyone cared about to an infinite scale of screens from 3"-30". From a world where IE 5 for Mac was considered a good browser to one where once again, the latest Microsoft browser is actually good. (Everything old is new again, I suppose.)
After ten years with the same company (which in Internet years is about a millennium) I certainly have stories. There's plenty I could say about Palantir, most of it good. :-) In the end, though, there's one thing in particular that has kept me here for so long.
Palantir.net is the kind of place that has your back.
The Introduction sets the scene: this book is a resource for adventures where the Doctor goes back in time rather than forwards, in particular when he goes way, way back to times when dinosaurs ruled the Earth. It also, slightly incongruosly, has a complete set of rules for spaceships including combat and chases, and an impressive array of ones you might encouter in your travels. Top that off with material on the Silurians themselves and an adventure, and there's plenty to get your teeth into.
The first chapter, History Repeating Itself, looks at what happens when your time travels take you back before human beings even existed. It talks about finding out precisely when you are, about how to survive and live off the land if for some reason you end up stuck there without your TARDIS. There's a sweep through different epochs of time with notes on how to distinguish them with a knowing glance at the fauna and flora, as well as details of possible adventures. Here having the various Doctor Sourcebooks comes in handy, as events are cross-referenced to where they were mentioned under the appropriate Doctor's adventures along with other ideas for you to develop for yourself if you fancy them. Information on extinction events and low-tech companions provide added material... and that's before you get to a whole bunch of story hooks and plot seeds! This section also includes ideas for when dinosaurs travel forwards in time and invade the present day. There's also a bestiary of dinosaurs, complete with stat blocks, so when dinosaurs do turn up, you'll know how they work. Illustrations include a very life-like triceratops, although the other dinosaur images are rather disappointing.
The next chapter is The Silurians and here we get the lowdown on this fascinating species. Strictly speaking they are not aliens. They lived on Earth - and sought refuge in hibernation when they thought it was going to be destroyed - long before humans were around. People going far enough back in time might meet them, and the hibernating ones wake up every so often too. There's loads of information about them here, starting off with the fact that there's no such thing as 'a Silurian' - there are two related species, quite distinct one from another... and each with several sub-species. There's information on their government and politics, how they lived in their hey-day and what happens when hibernating ones awaken. Notes cover the Doctor's previous encounters with Silurians, and there's a sample Silurian city should you fancy awakening some of them yourself. There are also sample Silurians and details of Silurian space arks and other technology. The chapter ends with some plot hooks and story seeds and notable Silurian individuals who've turned up before... and if one if the group fancies playing a Silurian, the information you'll need is here too.
Then comes a chapter titled Spaceships, which presents rules for spacehips and their operation, and for combat and chases involving them. There's also a veritable spotter's guide to just some of the myriad hordes of ships owned and operated by various spacefaring species. There are plenty of adventure seeds to get you going as well.
Finally, Asteroid Day is an adventure that involves loads of time travel, backwards and forwards, with Silurians attempting to survive a massive asteroid impact any way they can, UNIT worrying about some time travellers who have gone missing, and the Doctor and his companions stuck in the middle trying to sort it all out as problems pile upon problems. High stakes, high jinks, and all jolly good fun!
Overall, a fascinating if disjointed book - it's as if several ideas collided and got stuffed between the same set of covers. Yet it's all good material and provides serveal ways to enhance your game in interesting and novel directions. After all, spaceships and dinosaurs?
Acquia Developer Center Blog: Talking Drupal 8: Lightning Distribution and Module Acceleration Program
John Kennedy and I spoke about two exciting Drupal 8 projects he's running at Acquia in 2016. He's the Program Manager of the $500,000 US dollars Acquia is investing to upgrade important modules from Drupal 7 to 8 as part of the Drupal 8 Module Acceleration Program. He's also the Product Manager of Acquia's Enterprise Authoring Drupal 8 distribution, Lightning.
"I think Drupal is great at a lot of things ... and if we want to create a world where regular people can create great experiences, not just developers, Drupal is a fantastic application for that." - John KennedyInterview video - 25 min. - Transcript Below
- Name: John Kennedy
- Work affiliation: Acquia Program Manager Drupal 8 Module Acceleration Program - Product Manager, Drupal Lightning
- Drupal.org: johnkennedy
- Twitter: @commercejohn
- LinkedIn: John Kennedy
- Blog/Website: http://site.com
- 1st version of Drupal: A Drupal 4.7 site he immediately migrated to Plone :-(
John Kennedy: Well, I was doing a little bit of work for a nonprofit organization called Vibewire maybe back in 2006 and they said to me, “We’ve got this website, it keeps going down and we really need to have you look at it for us.” I looked at it, it was on Drupal 4.7, loaded up to the brim with modules and I said “This is awful” and promptly migrated them to Plone.
jam: Thank you, have a nice day.
John Kennedy: Since then, I’ve had some better experiences with Drupal. I ended up running my own Drupal shop for a while and I then came out to the UK to actually start the UK operation of the Commerce Guys and I did that for a little while, and then Acquia brought me on to be head of solutions architecture for Europe and now they’ve brought me over here.
jam: Fill in the blank here between 2006 and 2016, from being a big Plone fan to actually sticking with Drupal all these years. What changed for you?
John Kennedy: I don’t know that I was a big Plone fan. I was a big open source fan. I’d been a systems administrator and I’d been using the range of tools on top of Linux for a long time. Plone at the time seemed more mature. I had some developers who I could use for Plone, but what happened was that I found a couple of projects that were really suitable for Drupal and I worked out how to use it, nontrivial at the time, at least ... still ... and then once I was dug in, I found it more and more useful and I really got in touch with the community. I started coming to DrupalCons. The first DrupalCon I came to was Chicago and I hadn’t missed any since until I had my son 17 months ago and then I’ve missed a couple.The power of the Drupal Site-Builder
John Kennedy: Absolutely. Drupal creates this role that exists in other ecosystems, but it’s really clear in Drupal of site-builder, and it’s someone who can be, but is not necessarily a developer, and can be, but is not necessarily an author, and they actually create experiences by assembling modules, assembling functionality, and that could be layouts with Panels or it could be business logic with Rules or it could be a range of other functionality bringing it in through the module ecosystem. I think that role is incredibly powerful because it allows little organizations and large organizations to much better leverage their expertise to build great experiences, to build complicated functionality.
It also facilitates this amazing ecosystem of people who scratch their own itch, but also contribute to a wider modular functionality and it’s a lot more, I would say, sophisticated than the module ecosystems you see in things like with Ruby Gems or necessarily just the wider Composer or PHP ecosystem because it actually takes into account that there’s an end user that needs an administration interface and needs guidance on how to implement this. It’s not just a piece of code that you plug in. It’s also, by default, an administration interface and general principles that allow it to slot into Drupal really easily.
jam: I’m going to try and boil that down. What I tell people often in this context is Drupal has taken the incredible power and flexibility of a lot of great code built by a lot of great developers and made a fundamental design decision along the way. “We are going to put the power of that code in the hands of less technical end users and make it available to anyone who wants to build community, build a business and so on.” So the fundamental design decision is empower the user-interface-user and not just the developer, is that fair?
John Kennedy: Yes, I think so. I think when we think about WordPress, they’re definitely empowering a user. They’re empowering an author, but it’s really just an author. It’s someone who just wants to publish simple content or who wants to write words or add media. Drupal enables an expert user - it’s not necessarily a coder, but it’s someone who has a little bit more knowledge and then can create something really sophisticated.What is Lightning for?
John Kennedy: So the way I like to talk about lightning is that it’s not an out-of-the-box distribution. It’s a framework. It’s a way to cut 20% off any large project that wants to achieve a great authoring experience. Our tagline for it is "enabling developers to create great authoring experiences and empowering editorial teams". It’s not meant to be a beautiful instant experience like Atrium. It’s really meant to be a set of principles, frameworks, code, best practice, documentation that developers can take to leverage their time, to not have to think about that core set of functionality around authoring which, as we defined it, is layout, preview, media integration and workflow. Within those categories, we enable use cases like putting groups of content through a work flow and being able to preview them.
So you can enable scenarios like the election night scenario or the Super Bowl scenario where I might have two or three groups of content that I write and I want to be able to preview, but only one of them is ever going to get published. That was really hard previously, but we brought together in Lightning a few different modules to enable that, bringing together work spaces and workbench moderation and a couple of other things to allow for that. You can do so much more than we’ve done, but by giving you that little piece, I think we’ve enabled some really interesting use cases.
So there are a few of those different things that we’d brought together. It’s really about the fact that we think those four functionalities should be tightly coupled for enterprise authoring, not all the time, but specifically if you’re a large organization with many authors and you’ve got a sophisticated authoring process, then those functionalities should be tightly coupled because they should integrate with each other for that use case.
jam: So it’s a time saver for developers and they also believe it’s an opinionated way of integrating functionality within Drupal, and I imagine - am I right in saying that if people apply it, it will also save a lot of time on maintenance and handing off projects between different dev shops because a set of universal and good choices has been made along the way?
John Kennedy: Absolutely. Our internal PS team now, when they launch a project, they use Lightning by default.
jam: Even if it’s not an authoring heavy site, is that what they’ll start with anyway?
John Kennedy: I would say that Acquia clients tend to have authoring needs, so I don’t think Lightning should be necessarily the 80% use case for all Drupal shops out there, but it is for Acquia because that’s the kind of client we have. I think if you’re thinking about enterprise authoring, not just to post a blog, in fact not just multiple content types and interesting views, I think I’m really talking about if you have multiple authors and work flows and you need to create lots of different layouts and landing pages and all these kinds of slightly more difficult use cases, then yes, you should be thinking about Lightning.
jam: This is fully open source. When can I get it and how can I make it better?
John Kennedy: Drupal.org. In fact, we are being as transparent as we can possibly be. We publish all of our release notes, but also our forward releases have their stories on Drupal.org, so you can go see what we’re targeting, if we’ve already covered that, the issues. If they’re closed, they’re going to have the little line through them like they do on Drupal.org and we’re publishing as much as we can. So really, people aren’t just helping us fix problems, but influencing our forward roadmap as well. We want to hear what people want.
jam: That’s great, okay. So you’re combining deep technical knowledge and intuition with actual reports from people who do this every day.
John Kennedy: That’s it.The Lightning Top 3
jam: What would you say are the top three things about Lightning that makes it really ideal for your targets with its use cases?
John Kennedy: So if developers are talking to their managers about why they should use Lightning, the obvious ones are the feature sets. I talked about that before, work flow preview, layout, media, but actually what makes this brilliant for developers is a set of principles that we’ve come up with to build Lightning.
- One of those is that you never have to undo anything. So a lot of distributions, you’ve got to go in and you’ve got to undo configuration or things that they’ve decided upon earlier and that makes it less useful for you. We’ve really taken an unopinionated approach so that you can take Lightning and build forward.
- The next one is automated testing. We’ve built Behat tests into all of our major functionality and that means that as you build on top of Lightning, you can actually test whether you’re breaking any of our stuff which is really useful when you’re building an enterprise authoring system.
- The final one is upgradability and this is controversial because a lot of distributions aim at this and don’t quite get there, but we think by keeping a small-ish core of Lightning, we can actually maintain an upgrade path going forward. That means that if you build on Lightning, you can actually get free features as we upgrade Lightning. Those won’t necessarily be turned on automatically, but as a developer, as you upgrade Lightning, you have the ability to incorporate more of this functionality into the experience that you’re giving your users.
jam: So the first part of those really react to problems that we’ve all faced in one situation or another on the web in Drupal consulting and this idea of the build-it-forward and upgradability built into the distro really hits - if you can nail that, that really hits some pain points that I’ve certainly experienced along the way. Cool, great. So build-it-forward sounds like a good way to sum that up.
John Kennedy: Yes. It’s hard. What we’re doing is hard and we recognize that and there’ll be a lot of time spent maintaining upgradability and those concepts, but we think they’re key to the success of the distribution, so we’re putting the effort in.
jam: Now, in real time it is early March 2016. We’ve had Drupal 8 for a few months now and Drupal 8.1 is coming up. Is the Lightning Drupal 8 version already out and ready?
John Kennedy: So we’re in beta. I think we’re in beta four right now and as I said, our professional services department is already using our beta for building real sites, but we’re not going to release our GA version of Lightning until the 31st of March [this has slipped a bit since we recorded this conversation]. There’re a couple more features we want to put in there, things we want to tighten up, and actually we’re now thinking about what that looks like in 8.1 and how we bring 8.1 into our platform as well.The Drupal 8 Module Acceleration Program
jam: So I’ve been doing Drupal, I noticed, for 11 years and I’ve figured out recently that a huge percentage of our community has never experienced a new major version release. Drupal 7 was our major version for more than five years and while we did this enormous rebuild, re-architecture, that has produced something really wonderful - I think Drupal 8 is fantastic. I’m enjoying every moment I use it.
Those of us who’ve been in since 4.6 which is actually - so we’ve been doing Drupal about the same amount of time. We’ve seen a lot more releases. For example, the release of Drupal 6, when it came out, was completely unusable. Every Drupal 5 site worth talking about used panel views CCK, and at the time, the views maintainer did not want to port Views One to Drupal 6 and took another six or eight months to finish Views Two for Drupal 6, and Drupal 6 was kind of dead in the water for a long time.
Drupal 7 had really good uptake, it was a solid release, but still we had this situation where it took a year for the contributed module space to really, really catch up with Drupal 7. So I want to point out a couple things about Drupal 8 that make it a much more usable release than we’ve ever seen before. Drupal 8 was completely and thoroughly tested from the first cutting of the branch, every single patch that was applied, so it’s really functionally solid. You can do a lot more with Core. Views is in Core, multilingual is in Core, and it’s very compact and like a ton of boilerplate has been taken out, you can make your own admin interface because it’s all Views. I mean it’s really very powerful and flexible and you can do great sites already now
But there’s also a lot more economic value hanging on the Drupal ecosystem for a major release than has ever happened before, and a lot of us--Acquia, community, shops, clients all around the world--don’t want to risk Drupal 8 failing as a release. We want this uptake to happen a lot faster. So I think the Lightning distribution coming from Acquia and being used in customer projects already being released on March 31st [and/or soon thereafter!] sends a signal, “Hey, this is ready to use.” One of my projects right now is writing the Drupal 8 Module of the Week series which is also - first of all, I want to celebrate the people who’ve done this work to bring this modules, to create these modules, to make them available for Drupal 8, but we also want to tell people, “Hey, use this thing. It’s awesome and you can do all these different things with it.”
Your other big project, you’re leading the Module Acceleration Program, Acquia’s Module Acceleration Program for Drupal 8. You’ve written some blog posts about it. You want to talk about what that is and how it addresses what I’ve just been going on and on and on about?
John Kennedy: Sure thing. So we did think a lot about Drupal 7’s adoption path and I was around and I made mistakes in 6 and I made mistakes in 7 and some of those mistakes were taking on modules early when they were not ready for release and I think lots of people being burnt by that process means they wait a little while before taking up a new major version.
What we wanted to do was take the great work of the community and bring modules to production readiness, giving people confidence to go out and implement them and use the functionality they’d expect in Drupal 7 in Drupal 8. So Views is in Core, so that’s less of an issue, but there are a whole range of modules that people use all the time and we have lots of experience and lots of channels to hear what people need through our clients, through our partners, through all of the community members we have in Acquia and we really ran a process where we looked at what were the top 50 modules that were going to make the biggest impact on Drupal 8’s usability?
We built that list; that was in conjunction with Angie and a range of other people at Acquia and we looked at how do we do that? How do we bring them to production? What we found was that all we needed to do was talk to people who already wanted to do them and give a little bit of funding so that they could take the time to do it. So that meant going to some of our partners like Palantir and like Lullabot and other shops who really wanted to give the time, and they gave us a really low community rate to go and do what they already wanted to do. We wanted them done, they wanted them done ...
jam: So you’re threading the needle somewhere between what a developer costs in a commercial setting, building a client project and the pure volunteerism which, for better or worse, most of our community wants to contribute, most of our community wants to make a difference, but when you’ve got paid work and volunteer work, the volunteer work happens whenever it can, right?
John Kennedy: Yes.
jam: So threading this needle, how did you figure out what a community development rate was that’s good enough to people to focus on helping the whole community by upgrading these functionalities?
John Kennedy: There was already a rate out there that we kind of went by as a rough approach, but there’re also people wanting to give their time and just said “Look, I can do it and this is what I can do it for.” A lot of that time, that was even better. So we brought that group of people together and it was made up of maybe 11 externals who were working on contract for us and maybe another five within Acquia that were doing work just as part of their jobs, and then maybe another 5 to 10 from the community who had parallel projects that had needs for these modules and actually just needed to get these done.
What we did then was we helped coordinate all those people. So we started running ... our internal scrum is daily, but then we had an external scrum which was weekly. Then we broke out and had a work flow scrum so that those people who are really interested in that could gather around that. In fact, we kicked a lot of this off at the summit that we had at BADCamp last year where we brought together one subgroup of the wider group which was around authoring. I was really interested in how Lightning was going to get done and a lot of other people were interested in how other parts of authoring were going to get done.
So we all got together at BADCamp and came up with the needs for this authoring experience and that fed into a lot of what we built as well, but it was really a lot of community engagement, a lot of going out and talking to the maintainers of modules and working out whether they had the time to actually do the ports themselves, or whether they could share maintainership, or whether they could support an effort, whether they could do patch reviews and things like this for our contractors and our contributors.
I think that was a lot of the goal in the project. It was great to get great rates from people and great to work with lots of the community, but that coordination effort meant we just steamed ahead in terms of getting modules done. I don’t want to take credit for ... I don’t think even the program should take credit for doing whole module ports. We took a lot of code that existed in porting, but what we did was we got it production-ready. We got it out there, we got it to the beta, we got it so that people use it in projects.
jam: One of the things that I’ve been really proud of over the years being part of Acquia is where the rubber really, really hits the road. Acquia has gotten open source right and especially on the contribution side, the first thing Dries did was hire Gábor to get Drupal 6 out the door in the best shape possible. We worked with really early versions of Drupal 7 when I was in Engineering building Drupal Gardens and we made some big mistakes around module upgrades at the time and we’ve learned from that and have apologized, I believe, along the way, but when the rubber hits the road, Acquia has done an awful lot of things that have helped the entire project and our community. I’m really, really proud of that as a Drupalist.
In this case, as you’ve written in the blog, Acquia’s invested US $500,000.00 in these upgrades, and frankly the fact that we get production-ready modules and our community gets some more rent paid, I think that’s a great outcome for everybody. How do you think this investment is going to - what’s the return on this investment going to be for us and for Drupal?
John Kennedy: We talked before about how a complete module ecosystem accelerates Drupal. I think the big return that we’ll see is people coming into Drupal 8 earlier, so existing Drupalists, but also people who are evaluating Drupal, seeing the functionality ready and getting onto Drupal, and we’ll see that curve. That exponential growth that we’ve seen in 7, we’re going to see that earlier. That’s the big return.
I think what keeps us all up at night is let’s see the big acceleration of Drupal 8. I think I’ve seen some early stats and there’re some really good news about what Drupal 8 is doing in terms of if we look at the path of Drupal 7, it looks like we’re actually double the amount of sites at the same stage. So that’s pretty good, but what we saw over a long period of time was this about 76% year-on-year growth of Drupal 7 and that brought us from a community that was already significant to one that ran 3% of the web. It was huge and the 35,000-odd active contributors now, a lot of them came onboard in that cycle and we really want to see that happen again. We’re going to bring back the excitement to Drupal.
I think Drupal is great at a lot of things and it’s still really relevant in this day and age where we are looking at more and more sophisticated use cases for authoring and for web applications, and if we want to create a world where regular people can create great experiences, not just developers, Drupal is a fantastic application for that.
jam: Well, thank you for coordinating all of this. Thank you for taking the time to talk with me today. Now get back to work and make Drupal 8 production-ready.
John Kennedy: Sure thing.Podcast series: Drupal 8Skill Level: IntermediateAdvanced
I recently spent some time fighting against the Drupal Media and File Entity modules in order to upgrade them from version 7.x-1.x to 7.x-2.x. (To be specific, Media was upgraded from 7.x-1.4 to 7.x-2.0-beta1, and File Entity to 7.x-2.0-beta2). Through this post, I will share with you my trials and tribulations, with the hope that one day no one else will endure the pain and suffering that I have endured. This is one of those situations where ultimately there was not that much that needed to be done, but a lot of time was spent on trial and error.Incompatibility with Media Crop module
Based on all the comments/documentation I've seen around this upgrade, it seems like everyone's experience differs slightly. I assume that is because everyone is updating from and to slightly different versions of the Media module. Complications can also arise from modules that are dependent on the Media module. The site I was working on uses the Media Crop module which, as it turns out, is not yet compatible with Media 2.x (at least at the time of writing this). Luckily our client was not actually using the functionality of Media Crop and didn't mind losing it. Unfortunately though, simply uninstalling Media Crop seemed to leave some traces of the module on any images that were added via a WYSIWYG editor (Image styles referencing Media Crop, CSS classes and strange markup). This seemed like a rabbit hole I did not want to go down so I was happy to find that applying this patch resolved the rendering issues I was having. For whatever reason, the actual crop functionality is no longer accessible from the WYSIWYG but at least the upgrade does not destroy the rendering of current images. If you're using the Media Crop module I would recommend applying the patch before updating Media.To Media Colorbox or not to Media Colorbox?
This site was also using the Media Colorbox module. I heard rumors that the functionality provided by Media Colorbox comes with Media 2.x, making the Media Colorbox module obsolete. Personally I couldn't find a way to keep that functionality without using Media Colorbox so this is still a mystery to me. I kept Media Colorbox installed.Bash script to update Media and File Entity modules
So, with encouragement/prodding from Keith Dechant, I decided to write a Bash script to carry out the tasks of the actual upgrade:
echo "------ Disabling Media sub modules and Features that depend on Media" drush dis media_crop, media_internet, media_youtube, media_colorbox, media_wysiwyg -y drush dis custom_feature, another_custom_feature -y echo "------ Disabling Media and File Entity" drush dis media -y drush dis file_entity -y echo "------ Downloading latest versions of Media and File Entity modules" drush dl file_entity, media -y echo "------ Enabling File Entity and running cron" drush en file_entity -y drush cron echo "------ Enabling Media" drush en media -y echo "------ Running DB updates" drush updb -y echo "------ Re-enabling Media sub modules and Features that depend on Media" drush en media_crop, media_internet, media_youtube, media_colorbox, media_wysiwyg -y drush en custom_feature, another_custom_feature -y echo "------ Setting new permissions added by latest version of Media and File Entity modules" # Media permissions drush role-add-perm Programmer 'administer media browser' drush role-add-perm Administrator 'administer media browser' drush role-add-perm Programmer 'access media browser' drush role-add-perm 'Content Editor' 'access media browser' drush role-add-perm Administrator 'access media browser' drush role-add-perm Programmer 'use media wysiwyg' drush role-add-perm 'Content Editor' 'use media wysiwyg' drush role-add-perm Administrator 'use media wysiwyg' drush role-add-perm Programmer 'administer media wysiwyg view mode' drush role-add-perm Administrator 'administer media wysiwyg view mode' # File Entity permissions drush role-add-perm Programmer 'administer file types' drush role-add-perm Administrator 'administer file types' drush role-add-perm Programmer 'create files' drush role-add-perm 'Content Editor' 'create files' drush role-add-perm Administrator 'create files' drush role-add-perm Programmer 'view own files' drush role-add-perm 'Content Editor' 'view own files' drush role-add-perm Administrator 'view own files' drush role-add-perm Programmer 'view own private files' drush role-add-perm 'Content Editor' 'view own private files' drush role-add-perm Administrator 'view own private files' drush role-add-perm Programmer 'view private files' drush role-add-perm 'Content Editor' 'view private files' drush role-add-perm Administrator 'view private files'
The script is probably mostly self explanatory, but I went a little comment happy anyways. I ran this script on my local environment (many many many many times). You do not want to run it on a Production site because you will probably need to do some modifications to get it working for your situation. Once it is ready, you should export the Production database down to your local environment, get the site up and running, and then run the script. Next, export your local database and import it to Production. The first thing that the script does is disable modules that are dependent upon Media or File Entity. You might need to do a test disabling of Media and File Entity to note which other modules get disabled. Make sure that you add these modules to the reenable part of the script. Since we use Features, there were also some Features that listed Media or File Entity as a dependency and so I disabled them as well.
Media 2.x and File Entity 2.x also create a few new permissions that need to be set. If you use this script, be sure to replace our roles with roles that are relevant to your site. Also, some permissions provided by previous versions of the modules have been removed. If you save permission configuration in Features you might need to update your Features after upgrading.WYSIWYG Woes
After running the script I still found that images added via WYSIWYG were not rendering correctly. There was now extra markup around images that was causing styling issues, and links were being removed from around images. I struggled with this for a while until I happened upon an obscure comment somewhere deep within the bowels of Drupal bug tickets. For reasons unknown to me, Media 2.x has changed the markup around images. However, there is a simple resolution to this in the Media module config: Go to /admin/config/media/browser and check the box "Legacy rendering (using field attach)" and your markup will be as it was before upgrading.
While we're talking about obscure configuration, make sure that your text formats have the "Convert Media tags to markup" filter enabled.Conclusion
Hopefully I didn’t forget to mention anything major and I hope that this is useful to someone out there. If you find yourself here because you are trying to perform this upgrade: good luck you brave poor soul.References
I found comments 9, 10 and 11 very helpful here:
This was also a useful reference:
View mode provides a field type to store view modes.
This can be used to allow users to pick from a set of preselected view modes, and is best integrated with Display Suite or to provide custom logic based on user-selected view modes.
This provides an alternative to storing view modes in an options field that cannot be changed after the field contains data and is especially useful when you want to give editors the possibility to select view modes but don't want to use Panels or give access to place entities on your page in a certain view mode.
Multiple Field Question for the Quiz module provides a new question type for the quiz module that allows you to build quizzes with drag and drop functionality. The module lets you create multiple field types in single question for a Quiz in Drupal using the form builder interface. Answers can be evaluated manually. Scores and results are displayed only after the quiz is evaluated. It also provides for the user to create inline questions with multiple fill-in-the-blank type fields within the questions providing greater flexibility to the quizzes.
Over time, modules update their shipped configuration such as rules, views, node types. Users expect to get these updates when they update the modules. For example, Drupal Commerce 1.x provides over eleven default views and rules. From release to release, these Views and Rules were enhanced with new features or bug fixes reported by the community.
Take the order management view. In a future release of Drupal Commerce, we may add a newly exposed filter to the view. In Drupal 7 the view would automatically be updated unless it was overridden. That is not the case in Drupal 8.
Drupal 8 introduces the Configuration Management system. While robust, it changes how we work with the configuration in comparison to Drupal 7. Instead of a module owning configuration, configuration is now owned by the site. When a module is installed, its configuration is imported. On module update, no configuration updates are performed. Instead, the module must write an update hook to perform one of the following updates:
An Endzeitgeist.com review
Wow, wow, wow...are you serious? This is the reviewer who is supposed to judge my magnificence? This odd, long-haired German goth/metalhead-sod? Really? Oh well. I'm in a good mood, so I'll "help" you, okay endy? Great! So, my splendorous debut is 11 pages long, though 1 page is the front cover, 1 the editorial, 2 are advertisement and 1 page is the SRD, which means I get a full 6 pages...not that I'd need more to show how awesome I am, mind you...but still, gotta talk to my agent about that... *walks off*
Ehem, yeah, so this is a prioritized review and was moved up in my queue at the request of my patreons, before this strange guy rudely interrupted...oh damn, he's coming back!
Hey, Chris...yeah, about those... WAIT. You there, endy! I said I'd do that for you, right? Right! So, what do I do - urgh...I hate repeating myself and I explained it in the book already...but, in a nut-shell:
I WIN PATHFINDER.
There, 'nuff said.
Urgh, you're still reading. I can see you. So yeah, wanna know more? Gotcha. I am better and more awesome than all other classes, because I friggin' know. I'm not some pseudo-smart wizard-sheeple...I know I'm a character in your game. Yeah, you heard me. I know I have 2+Int skills (really? come on!) and d8 HD and proficiency with simple weapons, light and medium armors. I have 3/4 BAB-progression. I also am good at Min/Maxing - bonus points for kicking off a discussion on the Stormwind Fallacy. When resting, I choose one good save (two good saves at 12th level) and the others are bad save.
Starting at 4th level, I can select two skills that are not knowledge (No, GM, I don't care about the intricacies of your world!) and get max ranks for the day. At 8th level, I can also swap attributes and at 16th level I can swap 1/day saving throws, ability scores and bogus feats. I also am a master of optimizing flexibility: I can choose each day to gain arcane casting, divine casting, martial tricks or a crapton of skill. Oh yes, I'm that awesome.
Starting at 2nd level, I get a metagaming pool equal to 1/2 class level + 3. I can spend these as free actions to get skill bonuses, additional non-AoO-5-foot movements and even negate partial effects on successful saves. At 3rd level, I know what you know. No seriously, I can simply metagame what you know - d20+class level + Int-modifier and bam...you're GM is pissed. Priceless, believe me.
At 5th level and every 6 thereafter, I get Bogus feats. I can change these whenever I rest. Why? Cause that is how I roll! Oh, and 6th level, I can spend metagaming points to alter the damage of my weapons. At 7th level, I am adept at making allies count as abettors for Betrayal feats...who needs these suckers, after all? Oh, and yeah, at 9th level I can Rules Lawyer game-mechanics 1/day and alter them by +2/-2 or +10%/-10%, twice that much at 19th level, +1 daily use every 5 levels above 9th.
At 10th level, I can change energy types or better pass through SR via metagaming. At 13th level, I can divert effects when I failed my save to allies - we all know we only have to do better than the other suckers, right? And guess what? I have read all those supplements - at 13th level, I can take a treasure and identify it...and determine which treasure it is, within GP-boundaries. I always get what I want, man. At 15th level, as long as you, the player, bring a third party book to the table, it'll be game for me. I know. Awesome, right? Oh, guess what, at 18th level, I can metagame those stupid action economy limitations. But the most fun is 20th level - the ability's called "Make the GM Cry" - extraordinary wish. Oh, and when I die, I immediately resurrect. Oh yeah. You know you want to see that in action, right? Thought so.
All right, so this reviewer-git doesn't pay me enough for this, so blabla, nice artworks full color 2-column layout etc. Bookmarks are there as well.
So, I dictated the book to Wendall Roy and he seems to be able to write it - congrats, dude. No seriously, I couldn't wait anymore. This game needs my awesomeness in it. It's time that those prissy wizards and stuck-up paladins learn their place. This is where I come in, by the way. So do yourself a favor and get this book - we'll have a lot of fun making your fellow players cry. And best of all - you can always just point to the fact that I'm not "overpowered." Not our problem if the others just can't play the game, right? Hate the game, not the player!
Ehem...how do you end these things? Oh yeah, I'm obviously 5 stars + seal of approval (Seriously? "Seal of approval"? Pretentious much? Man, reviewer-dude, you got some issues...) and totally inexpensive, so buy my awesome book!