Those who try to gain control of their lives are called rebels, criminals, renegades, and they are inevitably swatted down one way or the other. You shouldn't ask me this question.
The Installing Git series is a free series that walks you through the process of installing Git for the first time and/or updating Git to the latest release on both Windows and Macs.
Installing Git on Windows is pretty straight forward, you just download the "Git for Windows" installer, and step through the process.
On a Mac though:
* You might not have any version of Git installed
* You might have the version that comes with Xcode or the Command Line Developer Tools
* You might have the version from Apple as well as an official install
* Or, you might just need to update an existing official install
This series covers all of those scenarios to get you updated to and running on the latest release.
It also covers the basic Git configuration options you need to set in order to use Git effectively.
So, what are you waiting for? Watch them now! They're free!Tags: Gitplanet-drupal
Game Developers Conference officials are very excited to announce the launch of an official GDC YouTube channel where you can watch clips of game industry experts sharing knowledge with their peers. ...
We’re excited to announce this talk, Content After Launch – Preparing a Monkey for Space on Wednesday, May 15, 2015 from 5pm to 6pm at DrupalCon LA!
So what’s it all about? Well, coupled with a silly metaphor, I’m going to be talking about what happens to content during various stages of a website build, from the initial kickoff, through the production, and well after launch. The talk will touch on:
- how all team members can get involved in the success of a launched website.
- setting and managing expectations for what it takes to run a site post-launch.
- everything you might have missed while focused on designing and building the website.
Come for the metaphor, stay for the juicy takeaways! Spoiler alert – there will be an abundance of monkey photos.
In one of our latest projects we developed a Facebook app which integrates with Drupal. Even though Drupal 7 has a powerful set of core tools to manage files and images, using it would unnecessarily overcomplicate a simple PHP app.
This module provides a second option for maintenance mode in Drupal. The
standard maintenance mode hides the entire site behind the maintenance message.
This module allows the whole site to be visible, however it blocks any editing
the site. This allows for a clean migration of a site between servers, with
minimal visible downtime.
Drupal 8 is skipping through the betas and it won’t be long until we’re staring at a release candidate. With that in mind, i’m now taking the time to learn some of the key concepts that you’ll need to know as a day to day site builder using Drupal 8.Custom Config Entity Types
A custom configuration entity type referred to as a config entity for most of this article is a custom definition of an entity that allows you to provide a config class, validation schema and custom storage.
They'll have hundreds of practical usages during development custom development. To give some examples, core uses them for user roles, blocks, image styles and plenty more. Use your IDE to see what’s extending ConfigEntityBase if you’re interested.Creating Our Config Entity Type Schema
First up, lets define our schema. The schema allows us to say what fields our config entity should have and what type those fields should be.
At first, I dismissed the need for yet another module. I have always added the Google Analytics code straight into a template file in various other CMS and static sites I have been involved in over the years. Why do I need a module to do that? Well, you don't, but the Drupal Google Analytics Module does offer a lot more functionality that will make it worth your while.
The first thing you need to do, it you haven't is sign up for a Google Analytics account. It's pretty straight forward process.
Once you are signed up, the most confusing thing to me was the Account vs. Property vs. View:
I break it down like this. Account is the company or the owner. The Property is the website. The view is segmented data of the website. At first, you should have a default "All Website Data" view, but moving forward you may have an app and a website, or a view for different languages on the site like /en and /de.
This module allows you to render an extra field as a real field (with field label).Description
The extra fields that can be attached to the entity using
hook_field_extra_fields() lack the overall look and feel of real fields because
real fields have labels and a theme around them while extra fields initially
look pretty bare (unless you theme them manually).
Just add "#pseudo_field" attribute set to TRUE to the extra field output render
array and it will look just like the real field!
At least 20 people helped push one or more issues forward in Montpellier, at the Drupal Dev Days Performance Sprint!
Here’s an overview of what we set out to do, what we did, and what the next steps are.The plan for DDD Montpellier
- Priority one: uncover the “unknown unknowns”, i.e. finding more performance issues.
- Priority two: Drupal 8’s internal page cache was enabled by default shortly before DDD Montpellier, so we should try to find edge cases where it breaks (where stale content is served from the internal page cache).
- Priority three: fix known performance problems, as well as those uncovered by the work done for priorities one & two.
We already know that certain things are slow, and we know how to fix them. But significant portions of slowness do not yet have explanations for, let alone precise or even rough plans on how to reduce the slowness.
The parts of Drupal 8 that are slow that we do not have a strong grasp on yet are the bootstrap phase in general, but also routing, container services and route access checking.
Berdir, amateescu, dawehner, yched, znerol, pwolanin and I did a lot of profiling, testing hypotheses about why certain things took a given amount of time, comparing to Drupal 7 where possible, figuring out where the differences lied, and so on.
Bits and pieces of that profiling work1 are in https://www.drupal.org/node/2470679, including patches that help profile the routing system.
In the weeks since DDD Montpellier, effulgentsia and catch have continued discussions there, posted further analyses and filed many more issues about fixing individual issues.2. Try to break Drupal 8’s internal page cache & fix it
So, Drupal 8 had the internal page cache enabled by default shortly before DDD Montpellier, with only a few known problems. Having many people to try to break it, using scenarios they use daily in their day jobs, that’s the ideal way to find any remaining cache invalidation problems.
Many tried, and most did not succeed in breaking it (yay! :)), but about half a dozen problems were discovered. See https://www.drupal.org/node/2467071.What we got done
We fixed so incredibly many issues, and we had more than twenty people helping out! Notably, fgm was all over class loading-related issues, borisson_ and swentel got many of the page cache issues fixed, pwolanin pushed routing/REST/menu links issues forward significantly, and we overall simply made progress on many fronts simultaneously.
We made Drupal 8’s authenticated user page loads several percent faster in the course of that week!
Most of the page cache problems that were discovered (see above) were fixed right at the sprint! There are 4 known issues left, of which one is critical on its own, one is blocked, and the two others are very hard.
(If you want more details, we have day-by-day updates on what got done.)
We currently have 11 remaining criticals with the “Performance” tag. Getting that to zero is our top priority. But many in that list are difficult.
If you specifically care about performance for authenticated users: less difficult issues can be found in the child issues of the Cache contexts meta issue. And for some least difficult issues, see the child issues of the SmartCache issue.
Generally speaking, all major issues tagged with either “Performance” or “D8 cacheability” can use a hand.
Hopefully see you in the queues! :)
It was impossible to capture all things we considered in an issue, that’d have slowed us down at least tenfold. ↩
DrupalCon LA is right around the corner! Woo hoo! I'll be there. Will you?
If this will be your first DrupalCon, I'd like to provide you with some ideas of how you can approach things. You have different options available to put together your Con:
Piwik is a free and open source web analytics application.
This module uses an alternative syntax to setup Piwik tracking code via an image tag rather than loading piwik.js.
The DrupalCon Los Angeles extended sprints start this Saturday, May 9, and the main sprint day on Friday, May 15 is just a little over a week away. I'll be leading a Drupal 8 Critical Burndown sprint to help get D8 done, and kgoel and cilefen will be leading a sprint to triage Drupal 8 majors. And we need your help! Sign up for the sprints now, or read on for more information on what we'll be doing and why.
Help fix the 29 remaining issues blocking Drupal 8's release
DrupalCon Munich contribution sprints. Photo credit: Pedro Lozano.
A release candidate for Drupal 8.0.x will be created once there are zero critical issues remaining. In the past six months, we've reduced the critical issue count from 130 issues then to just 29 issues as of today. This ongoing progress is thanks to the hard work of dozens of contributors.
Over these six months, we've held three focused sprints on critical issues: in Ghent in December, Princeton in January, and Dev Days Montpellier in April. The impact of each of these sprints on the critical issue count was clear: a focused sprint is the best way to get a lot of work done efficiently. Help us with the next burst of momentum! Come to webchick's "Plain Drupal English" guide to the remaining Drupal 8 criticals, and sign up for the Los Angeles critical issue sprint.
Help triage major Drupal 8 issues
900 reasons to get involved
Issues fixed during the Dev Days critical and performance issue sprint
The criteria for critical issues are very specific: the issue needs to be serious enough that we're not going to support Drupal 8 for any of the hundreds of thousands of sites that run Drupal without it. However, they're not the only issues we need to solve. Like most beta software, Drupal 8 still has plenty of bugs that need to be fixed, but that aren't severe enough to block release. Among these are the major issues, which are not a critical problem for every site, but still nasty enough to ruin someone's day.
Drupal 8 core committers assess each issue that is marked critical
Thee Drupal 8 core committer team systematically evaluates every single critical issue to make sure it's relevant and that it really should block release, but we don't have the resources to do this for major issues. Over the four years of Drupal 8's development, we've racked up nearly 900 major issues that are still outstanding. Many of these issues are still relevant and important to make Drupal 8.0.x more robust. However, many others are outdated; they might already have been resolved, they might no longer be relevant, or they might be candidates to postpone until 8.1.x or 9.x instead because they're no longer acceptable during the Drupal 8 beta.
This is where you come in! If you don't really see yourself helping with those 29 criticals, but you do have some experience with Drupal 8 and with core contribution in general, help us sort through these majors during DrupalCon LA. Take a look at the draft instructions for the sprint, and if you're up for it, put your name down for the major triage sprint in our sprint sign up sheet.Better faster stronger
Like I mentioned above, a lot of the major issues in the queue probably aren't relevant anymore, and fixing the rest is going to make Drupal 8 better. There's another reason to sort through them though: there might actually be some critical issues hiding in that queue. The average critical issue takes between 1 and 4 weeks to fix once it's marked critical. However, a third of critical issues start at some other priority before their significance is recognized. This is actually a big challenge for Drupal 8 release management: we can organize resources for the criticals we know about, but not for ones we don't. So not only does helping move majors along make Drupal 8 better, it might also get it ready faster.Maintainers wanted
Recently, Dries posted a new proposal on Drupal core's structure, responsibilities, and decision-making, which definitively established the role and responsibilities for core subsystem maintainers. We have lots of "vacancies" to fill. :) And it just so happens that triaging major issues triaging major issues for a particular component is a chance to learn a lot about that specific topic area and maybe to find your niche in Drupal core. We'll be organizing the major triage sprint into teams by subsystem so that each team has the chance to focus and build some expertise over the course of the sprint. Contributing to one patch will build your technical skills; contributing to the "big picture" through triage will build your understanding at a higher level. Participating in the major triage sprint is one way to explore what it would be like to be a subsystem maintainer -- and, as the Docker community has put it, maintainers are what distinguish a good project from a great one.
New to Drupal core contribution? Come to the Mentored Core Sprint
Views subsystem maintainers dawehner and damiankloip. Photo credit: Amazee Labs.
If you're just getting started with Drupal 8 or with core contribution, there's still a spot for you on the Friday sprint day! Join the Mentored Core Sprint.Tags Comments
Another sales call today, with a prospective start-upper who thought Drupal might lower his costs to get a web startup launched.
And I didn't really answer the question directly -- because in the long run, if you're building something successful, you're going to spend as much on your Drupal site as you would building from scratch.
The key difference? How quickly you can get something in front of users that might help you get some traction and build your business.DrupalDrupal PlanetOperationsDevOps
One of the options in Nittany Vagrant is to build a local, development version of an existing Drupal site - copying the files and database, then downloading it to the Vagrant VM. Its is pretty straightforward, but there is the occasional trouble spot.
Here is a short video of how to do it.
I'm speechless. And in awe. And maybe a little bit scared.
Through a bit of an odd synchronicity I have just come to learn about a new technology that is getting ready to make its debut. And, while the term "disruptive" gets totally overused these days, I do think that this particular technology may have the power to disrupt my livelihood.
I don't know whether to celebrate this technology, appreciate this technology, or update my resume. At any rate, I just signed up for TheGrid. It's kind of mind blowing.
As information architects, we love tools that help clients think about the structure of their content. One which we’ve found particularly helpful is what we call our Technical Architecture document. It’s a spreadsheet that defines the structure of the site. This approach is not uncommon, especially within the Drupal community; however, we have promoted this spreadsheet from information architecture tool to site generator. By automating a once manual process, we’ve introduced some really exciting opportunities around rapid prototyping and efficient product iteration. I’ll get into the details of that in a follow up post. For now, we’ll look at how we move from sitemaps and wireframes to the technical architecture document in a way that sets us up for rapid prototyping.From Wireframes to Technical Architecture Document
After the initial discovery phase of identifying goals, personas, user needs, core content and sitemaps, we build out wireframes for the project. The structure behind this content really comes together when we then translate those wireframes into the technical architecture document.
As mentioned above, this document breaks the site down into the specific content types, fields, vocabularies, terms, users and other units which together comprise the entirety of the project. You can look through and make a copy of the document for yourself - Technical Architecture document templateSitemap
First we translate the sitemap as defined in our wireframes into separate rows in the technical architecture document.
Now we can specify the nature of each page and work with the client to define path aliases.Content Types
Next we group all of the content into distinct types. We’ve been keeping these potential groupings in mind as wireframes are built out, but it is here in the technical architecture document where we explicitly define them.
Here is an example of the Course detail page (as shown above) translated into a content type and its associated fields.
This is where the structure of the content begins to take shape. We have identified the discrete fields which together form a single course. We can also now define field groups and help text where that is relevant and helpful.Fields
The fields we saw in the content type sheet validate to fields referenced here. This sheet is where we hash out the finer details of each field. We bring the client into conversations around this sheet when necessary (such as help text and default values), but allow them to concern themselves primarily with the sitemap and content types.
Next we define in the same level of detail the remaining components of the site, including field groups, vocabularies, image styles and user roles.
Here is a look at user roles and their associated permissions.
This document is a great way to model content and inform developers as to what would be built. It also reveals to clients the underlying structure necessary to implement the functionality and form proposed in the wireframes.
Of course, there are still limitations in representing a course page in a series of rows and columns. The concept of structured content is now more clear, but it is not until a content author can create that Methodology of Science course that the picture truly comes into focus.
This is the exact situation prototypes were made for. In the next post I’ll dive into how we’re using the technical architecture document to automate much of the build process, enabling us to quickly create these prototypes.