Every human being is interested in two kinds of worlds: the Primary, everyday world which he knows through his senses, and a Secondary world or worlds which he not only can create in his imagination, but which he cannot stop himself creating.
NYC Camp (aka 'nice camp') is an annual 4 day mini Drupal conference held in NYC dedicated to Drupal learning and contribution. Best of all it's completely free and volunteer powered! This past year we had a spectacular event packed with trainings, sessions, summits and sprints. We've got a great event in the works and expect NYC Camp 2014 to rock even harder than last year!
Interested in volunteering? Yes You! Sign up to participate and contribute to your NYC Drupal community here
Stay up to date on all upcoming NYCCamp News by following us on twitter @NYCCampDrupal
Deploying a new Drupal site for the first time is no exception. The Easy Way – and almost certainly the most common way – is to simply copy your local version of the database to production (or staging), along with user-uploaded files. (Your code needs to be deployed too, and The Right™ Way to deploy it is with version-control, which you're hopefully using… but that's another story.)
The Right™ Way to deploy a Drupal site for the first time (at least since Drupal 7, and "with hurdles" since Drupal 6), is to only deploy your code, and to reproduce your database (and ideally also user-uploaded files) with a custom installation profile, and also with significant help from the Features module.
The Right Way can be a deep rabbit hole, though.
Image source: SIX Nutrition.
I've been churning out quite a lot of Drupal sites over the past few years, and I must admit, the vast majority of them were deployed The Easy Way. Small sites, single developer, quick turn-around. That's usually the way it rolls. However, I've done some work that's required custom installation profiles, and I've also been trying to embrace Features more; and so, for my most recent project – despite it being "yet another small-scale, one-dev site" – I decided to go the full hog, and to build it 100% The Right™ Way, just for kicks.
Does it give me a warm fuzzy feeling, as a dev, to be able to install a perfect copy of a new site from scratch? Hell yeah. But does that warm fuzzy feeling come at a cost? Hell yeah.
5 of my favourite keyboard shortcuts in Chrome DevTools. I used them all the time to find bugs in JS, HTML and CSS
1. CMD + ALT + F
2. CMD + Z
Yes, the traditional 'undo' command. Did you know you can undo the CSS changes in DevTools?
4. ALT + Click
This trick is awesome for severe cases of HTML divitis. Press ALT and click at the same time on the arrow, it will expand all the HTML elements under it.
Modules Unraveled: 104 Developing the Acquia Certification Program with Heather James, Ben Ortega, Peter Manijak and Prasad Shirgoankar - Modules Unraveled Podcast
- First off, what is the Acquia Certification Program?
- Who was involved in developing the curriculum?
- I took a quick look, and it seems that there are four parts to the test. Are those taken individually? Or all together? (And what are the sections?)
- Will this accurately assess front-end developers? Or Backend/Sitebuilders.
- What about specialists?
- How is the exam administered?
- Where can people take the test?
- There has been talk about certifications in the past. Some have been for it, and some have been opposed. What kind of feedback have you received so far?
- Will you be updating the program regularly? Absolutely
- Will there be a D7 version and a D8 version? It will depend on the exam and the need s of the role we are validating
- Should other certification programs be developed?
- Tanay Sai
Any plans to launch further specialization/levels? Like for Architects, themers, Drupal PMs etc? Yest, the Front end and Back end specialist exams are on the current roadmap. Other are in pre-planning stages.
This is a method can be used for all the forms. Two steps here:
- Change block thank you page urlThis method only works for a form in a block. In admin->structure->block, find the block containing the form and there is a configuration named “Thank You Page”. Put in the redirect url here or leave blank for no redirect. The benefit of this way is both developers and the website administrator can change it without touching code while the limitation is the form must be put in a form.
- Add a submit handler to form_alter
- Add a submit handler to the form_alter with the condition that the form id is the one we want to customize.
- Assign the redirect path to $form_state['redirect'] in the handler function.
Tags: drupal planet
New York city Drupal camp happened last weekend in United Nations HQ and there was, among numerous other things, Media sprint going on. Organizers did their best to bring some of the most active Drupal Media contributors on-site. We are very happy and thankful that they made this possible, as we managed to achieve some very important steps forward.Plans for Drupal 8
Main part of our efforts at the camp was roadmap for Media in Drupal 8 as part of which we achieved few very important conclusions:
- Storage components: there are still different opinions about the storage part (AKA "File entity" approach vs. "Media entity" approach - for more info check https://groups.drupal.org/node/384813). We decided that this is fine. We will continue to work on both solutions, while trying to find as many sticking points as possible and share as much code as possible. Entire ecosystem will be split into several sub-components in order for this to be possible.
- Decoupled components architecture: as already mentioned we're dividing Media ecosystem into smaller pieces, which will be easier to develop and maintain. We will make sure to make every component as generally usable as possible. This will allow us to use them with both storage solutions and also, when applicable, in more general contexts (not necessary related to media itself). "Full featured" media solutions will still exist, but will mostly provide glue that will make individual components able to work together.
- Media browser/selector/creator: this part of the system will be responsible for browsing media collections, picking and/or creating individual or multiple media items. It will be used in different contexts as fields (entity reference, file, image, ...), WYSIWYG, global, etc. This component will not be related to media by it's nature. It should be possible to use it also in other similar use-cases (browsing and picking nodes for an entity reference field for example). Existing tools/systems should be used where possible (Views for entity browsing, existing field widgets for entity creation, ...).
- WYSIWYG integration: core now supports image embeds by default, but we still want to be able to embed other types of media. WYSIWYG entity embed framework will be responsible for that. It will be able to embed any entity using techniques that were already tested in D7. Entity-specific solutions that we know from D7 world (node_embed, ...) will become obsolete as a result of that.
- Display configuration: we will create two levels of display configuration. Field formatter level will provide more basic functionality, while ensuring simpler interface for site builders and administrators. This approach is expected to be used on simpler sites. Media/File entity render will, on the other hand, provide more powerful display configuration system with more complexity. Both storage solutions will share some parts of display configuration components, but it will not be possible to re-use everything.
- 3Rd party providers: both storage solutions will need own 3Rd party integrations due to fundamental differences in storage implementation.
- Sprint at DrupalCamp Alpe-Adria (May 17th - 20th)
- Week-long sprint at DrupalCon Austin (June 1st - 7th)
- Week-long sprint at DrupalCOn Amsterdam (September 28th - October 4th)
- Week-long sprint at BADCamp (approx. October 21st - 26th)
In order for Media to really rock in D8 we need a lot of help (by this I mean A LOT!). Are you personally interested in media on Drupal or you run a Drupal company/shop and have to deal with funky media problems and desperately need a powerful and extensible solution for that? Are you able to dedicate some of your (or one or your employees) time to achieve that goal?
We need you! No matter which skills you have! We need help with back-end and front-end development. We also need design/UX skills to create good editorial experience. Are you not a coder, but have good ideas? We need those!
You can reach us on #drupal-media or on groups.drupal.org/media. There will be weekly "scrums" held in Google Hangout onAir every Tuesday at 3:30PM GMT (follow groups.drupal.org/media for announcements).We need your user stories
There are as many possible media use-cases as there are Drupal websites. In order to be able to design the system in a way that will work for most possible situations we need your feedback - your user stories. Please take few minutes to think about your past project that dealt with Media and try to remember interesting problems that you'be been facing. Then use our form and send them our way in a form of a user story.Google Summer of Code 2014
We have two quite strong media related project proposals for this year's Summer of code. We are hoping for both of them to be accepted. We will be able to publish more informations about that in the second part of April.Please help Aaron Winborn
Aaron is a long time Drupal contributor, author of many media-related modules and a great and inspiring person. He is fighting ALS and he needs our help. Please consider contributing to his fund to help them make his and his families life just a little bit easier. Thank you!
We would like to thank camp organizers one more time. They prepared an unforgettable event for us. We would definitely not be able to achieve this progress without their support!
If you’ve ever attended a sprint, you know how important mentors are. We're asking for interested volunteers to sign up to act as mentors for the DrupalCon Austin sprints. We’re expecting 600 attendees to get involved, and need all the help we can get!
We’re pleased to announce that the grant and scholarship recipients for DrupalCon Austin 2014 have been selected and finalized!
Thanks to generosity from our sponsors, we were able to extend offers of financial aid to 33 individuals worldwide!
There were over 100 applicants for financial aid for DrupalCon Austin, and selecting the best candidates for the convention was difficult work. Every candidate underwent a comprehensive evaluation by a committee of volunteers from the Drupal community.
Did you expect to see how Drupal 8 improves multilingual tasks at NYC Camp? Well, bad luck! I'd like to apologise in place of the NYC Camp team for their messing up the schedule yesterday and their lack of communication following. I was told to set up for my presentation in a room that was not even meant to be a presentation room, let alone my presentation room, even though it was confirmed by several volunteers coming to the room. Later on yesterday, several people asked me why I did not show up for my session. I did.
The good news is that I delivered this talk before, and although the latest recorded copy is definitely not as up to date as the one I worked on for NYC Camp, you can watch it here (fast forward to 12:04 to the start of the presentation itself):
I would have loved to talk to you, bring you all the good news, answer your questions and hopefully inspire you to join our efforts. I did not get a chance this time. Hope to catch up with you sometime later at other events!
Everybody is writing about Heartbleed this week. The reason? It probably affects more people than any other vulnerability we've ever seen. If you ever log into any web site, anywhere, your password might be revealed -- and that is just the start. The biggest problem? Nobody really knows if somebody actually used this attack.HeartbleedE-CommerceSecuritySSLDrupal Planet
In just over two weeks, The St. Louis Drupal User's Group will host St. Louis' first ever DrupalCamp. The final sessions were announced last week and it's shaping up to be an awesome experience for a wide variety of folks looking to learn more about Drupal.
As @geerlingguy, myself, and a few other great folks from the STLDUG began discussing the idea of hosting St. Louis' first ever DrupalCamp last year, we decided that we wanted to gear our first camp towards those who were just getting started with Drupal. I've been a part of the STLDUG for several years now and two things have been constant: newcomers looking to learn more about Drupal, and a strong need for Drupal developers in the St. Louis area. What's more is that the community of developers, stakeholders, and hobbyists in this city is nothing short of amazing. Naturally, it only made sense to put together a camp that would allow us to share our experiences and expertise with those wanting to learn.
At Museums and the Web earlier this month Ken Rickard and I ran a developer training seminar for the still-in-alpha-but-getting-there Drupal 8. It was a small group, which wasn't surprising given the event. One of the most interesting things about it, though, was that there was only one PHP developer in the room.
The most active student in the class was an experienced C# developer. He had never worked with PHP before, and, really, didn't seem like he was going to start any time soon. He was mostly there to get a sense for how to integrate Drupal with his company's product for museums.
Despite that, he was able to follow the material just fine. In fact, the only questions he had were related to PHP itself: Its shared-nothing runtime model, the magic __construct() method name, etc. The actual software engineering parts, the general syntax, dependency injection... all of those were easy. Most notably, when we got to the concept of services he even said aloud "Oh those, yeah, easy."
Here's an experienced developer who has never used PHP before, much less Drupal, and he could follow a code-intensive Drupal 8 training class. Let that sink in.
There's an old adage that once you know one language you can easily pick up another because it's all "just programming". That's not actually true; you can easily pick up another language in a similar family. Jumping between PHP, C#, and Java is fairly easy, but don't expect to jump right into Haskell, Erlang, or ML (or vice versa).
That's why our C# developer was able to follow Drupal 8 so easily. PHP's object-oriented model is, by design, very similar to that in Java, C#, and by extension somewhat to C++. It has its own quirks and flavor, to be sure, as does any language. The basic concepts, though — classes, methods, interfaces, services, domain objects, dependency injection — are fairly easily transferrable between them. The best practices that apply in one language are, generally, at least decent practices in another. The syntax may vary but the underlying principles are closely related and the syntax is generally recognizable.
In the latest TIOBE index of programming language popularity (March 2014 as of this writing), PHP has held fairly steady at a very respectable 6th place for over a decade. That's no mean feat. Look up a little bit higher on that list, though, and notice a few familiar faces: Java sits at 2nd place, C++ at 4th, and C# at 5th.
There are a lot of Java and C# developers out there. The corporate world especially is full of them. That's millions (yes, millions) of developers who may not know PHP, but already know the same underlying concepts behind modern, object-oriented PHP. If they need to learn PHP, they can.
That's millions (yes, millions) of developers who may not know Drupal but if they need to learn it, they can.
Conversely, what do you think happened when we showed our C# developer hooks? He recoiled. Physically.
Magic naming of language syntax is not a common practice in the Java/C++/C#/PHP family of languages. To developers coming in from other family languages hooks and big nested arrays are the least-familiar parts of the code base. Those are, in fact, the hardest to learn for the overwhelming majority of the world that is not already a Drupal developer. That's why there has been considerable effort to try and migrate away from naked data structures to industry standard language techniques: It makes Drupal easier to learn in the long run, as well as the other benefits of common patterns and easier modifiability. Hooks and arrays-of-doom haven't gone away yet, but in the long run their days are numbered.
Drupal 8 won't just be easier to learn for existing PHP developers. It will be easier to learn for existing developers, period.
First thing, have a D6 site with multilingual things ready to go! This node has a file attached (see end of post) with a copy of D6 with some translated nodes and site information (see settings.php file settings to translate these variables). The file is a drush archive.
D6 "Requirements" at this time:
- It must have CCK installed (2014-04-11)
- Recommended to install in the non-English language if you wish to download the translations automatically (this isn't working in the UI yet 2014-04-11). You can also go download the translations manually later.
Currently we do not work from the main branch as there are significant changes happening in this area of Drupal 8. Some things may be broken. You have been warned! Please test and update issue summaries where appropriate.
- Clone the IMP migration sandbox and install Drupal 8 https://drupal.org/sandbox/chx/2105305
- Enable migrate, migrate_drupal, content_translation, configuration_translation, locale/"Interface Translation", language (these last two are installed by default if you did not install in English)
- Enable English as a language
- Get the patch so you can bind to a second database in D8 https://drupal.org/node/2181775
- Create a manifest.yml file in the root
Put this file int he root of your D8 site. If you did migrations to D7 with the latest versions of migrate and d2d, this file similar to your migrate.inc file registration array (but in a completely new format).
#- d6_user (not working yet - "does not meet requirements" 2014-04-11)
- d6_language_types # Patch needed 2014-04-11 https://drupal.org/node/2225293
- d6_language_negotiation # needs above patch
- d6_language # Patches needed 2014-04-11 https://drupal.org/node/2166875 and https://drupal.org/node/2234623
- d6_node_settings # gets story content type
You can find the complete list of migrations at core/modules/migrate_drupal/migrate.config.yml some (like d6_user are not yet working 2014-04-11).Running the Migration
Then, on the command line, run your manifest file. I used a D6 database with no password because of the bug mentioned above.
drush migrate-manifest mysql://d6@localhost/d6 manifest.yml
You will need the latest Drush if you want support D8! A UI-based workflow is being developed here: https://drupal.org/node/2200379Rolling Back
This does not exist yet, but if you are familiar with doing this manually in D7 the process is the same:
Use the UI to delete the affected things (in this example, delete your nodes)
Clear the database table that stores the migration info for the specific migration: mysql> delete from migrate_map_d6_node;
Writing D6 to D8 entity migrations - https://groups.drupal.org/node/387488
How to test Drupal 6 to Drupal 8 migrations - https://groups.drupal.org/node/398588
eliza411 - http://dspeak.com/fldc14/dothis.html
You can follow the initiative at groups.drupal.org/imp.AttachmentSize Drupal 6 drush archive with translated nodes and site information1.72 MB Category: D8MIDrupal 8Drupal ArticlesDrupal Planet
If you came this far you probably liked this video just as much as I did :). You should really consider coming to Portorož in May to attend DC Alpe-Adria. We will have 2 days of great sessions, BoFs and sprints + 2 more day of extended sprints where we're going to focus on D8 and making it rock!
Portorož is also a great destination for children and families so you could bring your significant others and/or families with you and extend Drupal camp into an unforgettable vacation.
Interested? Of course you are! Find out more at drupalalpeadria.org.
It was one year ago that our own Steven Merrill, Director of Engineering at Phase2, found himself at the RedHat Summit, when he stopped in front of the OpenShift booth. OpenShift is an open-source Platform As A Service (PaaS) solution that offers developers a cloud application platform with a choice of programming languages, frameworks and application lifecycle tools to build and run their applications. The platform provides built-in support for Node.js, Ruby, Python, PHP, Perl, and Java, as well as MySQL, PostgreSQL, and MongoDB. Developers can also add their own languages.
Right away Steven was intrigued by OpenShift since it’s the only PaaS that’s open source (OpenShift Origin,) and that also has a Red Hat-supported behind-the-firewall install (OpenShift Enterprise) and a public PaaS (OpenShift Online.) As Phase2’s DevOps luminary and frequent contributor to the Drupal community, Steven quickly acquainted himself with the OpenShift team and started to explore the possibility of spinning up OpenShift environments for Drupal. By the end of RedHat Summit 2013, Steven had laid the groundwork for a Drupal 8 cartridge and had created an updated PHP 5.4 cartridge for OpenShift.
Steven’s introduction to OpenShift at the RedHat Summit ignited excitement about diversifying our deployment optimization services here at Phase2. The possibility of creating quickstart packages for our Drupal distributions on OpenShift was especially attractive to us. Soon after the RedHat Summit, the Drupal 8 quickstart cartridge was committed to OpenShift, allowing developers to quickly and safely spin up a Drupal 8 environment to test and develop on.
Throughout the past year, our relationship with OpenShift strengthened as we worked together at DrupalCon Portland and DrupalCon Prague to develop Drupal compatibility with OpenShift. To our clients’ delight, we began implementing OpenShift into our deployment services. One of our recent clients, a Fortune 500 publishing company, was overjoyed to find that the deployment process we created for them using Openshift allowed them to cut onboarding time for new developers from an entire month to as little as a week.
Steven and Diane Mueller, the OpenShift community manager, recently co-hosted an OpenShift for Drupal training at NYC Camp. The training gave Drupal developers the tools and knowledge they need to quickly develop, host, and scale applications in an open source cloud environment. Next week we will be once again heading to RedHat Summit, one year later, exhibiting at the summit as an Advanced OpenShift partner.
Our partnership with OpenShift is a classic open source story: equally committed to open source solutions, Phase2 and OpenShift have teamed up to develop mutually beneficial service capabilities for our clients. We look forward to continuing our close relationship with OpenShift and announcing several more exciting developments and collaborative projects launching in the near future. Stay tuned – there are big things coming for Drupal on OpenShift, the cloud, and Phase2’s deployment services.
The Drupal Site Map module can be used to provide you Drupal website visitors with a high level overview of the content on your Drupal 7 site.Tags: DrupalContribDrupal 7Site BuildingDrupal PlanetSEO
I would lie (and would i lie to you ?) if it say that im not extremely excited about theming in Drupal8. One the bigger painpoints in Drupal theming is figuring out where the markup is generated from. In Drupal8 we have build that directly in, i did a little screencast of it & damn its awesome.