The Symfony Live events of this Fall (London, Berlin, NYC, Madrid) are around the corner, and for the first year, Commerce Guys is going to attend these events as a sponsor. Some people are wondering why, and I’d like to explain why Commerce Guys is very excited to engage with the Symfony community and its open source software vendor, SensioLabs.
In fact, there are 3 main reasons for Commerce Guys’ interest in Symfony and working tightly with SensioLabs:
It’s no secret that Drupal8 will rely on Symfony components. This architecture decision is good, and paved the way for similar thoughts on Drupal Commerce 2.0. It also ties the destinies of both open source communities, we think for the better. The work on Drupal Commerce for Drupal 8, known as Drupal Commerce 2.x, started in June 2014. During a community sprint that included members of SensioLabs and other partners like Smile, Publicis Modem, Osinet, i-KOS, Adyax, and Ekino, we validated the idea that some of the core eCommerce components of Drupal Commerce 2.x should rely on Symfony and other general PHP libraries directly. The goal is to offer an even more generic and flexible solution that spreads the impact of our code beyond the walls of the Drupal community.
This effort is well in progress already. Bojan Zivanovic, Drupal Commerce 2.x co-maintainer, provides a great example of this in a recent blog post about our new Internationalization library. He explains how much improvement this component will bring to the software for managing and formatting currencies internationally via a generic PHP library called commerceguys/intl. Expanding the reach of our work to the broader PHP community will help us get more feedback, more users, and more open source contributors, ultimately leading to better software. Ryan Szrama, Commerce Guys co-founder and Drupal Commerce CTO, will be presenting this approach at Symfony Live in New York City in October. We strongly believe this vision will bring us closer to our goal of building the most popular open source eCommerce software.
In a context where Symfony will be central to mastering Drupal 8 projects, we’ve pursued the goal to enable our development & production Platform as a Service (PaaS) for Symfony projects in general. We’re convinced that this will provide Platform.sh an edge, and wanted to be a driving force in providing tools that will fit both open source communities.
Since Spring 2014, Commerce Guys engineers have been collaborating with SensioLabs engineers to understand Symfony better. Few companies in the world have the expertise in enterprise PHP that SensioLabs has, and the Platform.sh Symfony experience is the outcome of lots of intense discussions with the SensioLabs’ team.
Our objective was to enable teams to develop and deploy Symfony projects faster and more productively on Platform.sh. That work is now done and we’re very happy to announce today that, with just a few clicks, Symfony developers can create a full Symfony development environment (starting from an existing Symfony distribution), in order to build and deploy highly scalable websites and custom applications. This will lead to a much improved development process, lots of time saved for developers and a reduced time to market from development to production. Sponsoring Symfony live is a way for Commerce Guys to share the hard work we’ve done to build a unique, cloud-based development experience for Symfony developers. We’re excited to share our work and get feedback from the Symfony community about this product.
The time we’ve spent with SensioLabs’ management team highlighted our common passion and interest: help developers be more efficient and successful and, as much as it depends on us, to enjoy their jobs even more. SensioLabs and Commerce Guys were both founded to design and develop open source frameworks, gather large and global developer communities, and enable developers to create great web experiences. Both companies aim at making developers happier and more successful by providing them the right tools. It’s on these values and fundamental principles that this partnership was built. It’s all very solid and here to stay!
Today, we are very excited to announce the latest release of our Drupal 8 theme Prius. Alongside a full support of Drupal 8 Alpha 15, we have included a number of new features. This release is particularly exciting as we are one step closer to an official launch of Drupal 8. Indeed, Drupal Alpha 15 is the first candidate for a Beta release. Meaning if no new beta blocker bugs are found within the next coming days1, we could see the first Beta version of our favourite "CMS" very soon.Read More...
We're excited about the great swag we've got at the Drupal store-- so excited that we're going to award a €100 gift card to a lucky winner at DrupalCon Amsterdam!Here's how it works.
On Tuesday and Wednesday, we are going to hide puzzle pieces around the RAI Convention center. (The puzzle, for reference, is above!) If you find one of the puzzle pieces, bring it by the Drupal Association Booth in the exhibit hall.
We'll write your name and contact information on the back, and once the puzzle is complete-- or, at lunch on Thursday, whichever happens first-- we will select a lucky winner and award him or her with a €100 gift card!
Pro tip: during the hours the exhibit floor is open, we'll use the @DrupalAssoc Twitter handle to send out pictures of where the puzzle pieces are hidden. Keep your eye on that handle so you can have a shot at finding one of the pieces and winning the prize!
Note: there are only 15 puzzle pieces, so the odds of winning are great. Limit one puzzle piece per person.Questions?
Come by the Drupal Association booth next to the bookstore or email Leigh Carver with any questions you may have.
Meet Ruth Fuller, she's here to help businesses get more out of Drupal by helping them engage more effectively with the Drupal community. She'd like to help you with effective Drupal and open source sponsorship, how to engage with the community, planning, coordination, presentation preparation, and public speaking coaching.
Welcome to the second article in the “Commerce 2.x Stories” series. This time we’re going to talk about addressing, and our efforts to improve the already good Commerce 1.x addressing implementation (addressfield).
By addressing we mean storing, manipulating and formatting postal addresses, meant to identify a precise recipient location for shipping or billing purposes.
I am going to explain how to setup your development tools so that you can debug Drush commands in real time, as they run. I've tested these instructions on Mac OSX.
In a previous blog post I outlined how to configure PHPStorm and Xdebug so you can step through the code of a webpage as it is executed. This allowed you to set breakpoints and inspect the value of variables at specific points in the code. The same can be done for Drush commands. You will need to have configured your PHPStorm as described in the first blog post.Add Drush code to PHPStorm
Drush can be added to PHPStorm as an external library. This will allow you to view the Drush code within PHPStorm so you can add break points to it later.
1. In the project pane, double click external libraries, which appears at the bottom of the directories.
2. Click the plus button in the bottom left of the PHP popup window. Now use the file brower to find where Drush is installed on your system. Select the folder and click OK and OK again. Drush should now be listed as an external library.
3. Click the telephone button in PHPStorm so it starts listening for executed code.Configuring Drush to tell PHPStorm it is running
In the command line where you normally run your Drush commands, first type the following command and press enter:
export PHP_OPTIONS="-dxdebug.remote_autostart=On -didekey=PHPSTORM -dremote_host=localhost -dprofiler_enable=1"
Now, when you run a Drush command it will be picked up by PHPStorm.
If you have put in a breakpoint, then execution of the command will pause at that point. For example, open index.php in your project and place a breakpoint next to a PHP function as shown in the image. If you click between the line number and the code, a red spot will appear.
Now, at the same command prompt where you entered the export command above, run a Drush command, for example:drush cc all
PHPStorm should open at the breakpoint. Now you can step through the code in the same way as before.
Executing the export command before running Drush commands will be a little time consuming. I recommend you add this to your .bashrc file or .bash_profile file in your home directory so it's available as soon as you open your terminal.
To stop PHPStorm opening every time you run a Drush command, simply press the telephone button again and hang up.
Campbell Vertesi and Adam Juran are at the top of their game when it comes to coding and theming Drupal. They're also deeply involved in and shaped by their study of martial arts. That's what makes this DrupalCon trailer so very good: they make an analogy for working with Drupal that pits the coder vs the themer, and it becomes the basis of their whole DrupalCon session. This trailer (which is meant to get butts into seats next week in Amsterdam), is a tribute to B-grade Kung Fu movies, and is true to Drupal's tradition of approaching technology with a good dose of levity and humor. I, for one, really enjoyed working with Campbell and Adam while shooting this, and am looking forward to their session.Tags: Drupal PlanetDrupalDrupalCon
Modules Unraveled: 119 The Classy Base Theme for Drupal 8 with Scott Reeves and David Hernandez - Modules Unraveled Podcast
- How did this all get started? and where does the “banana” come from.
- From Morten: 2 years ago at BadCamp John Albin was holding a plastic sword from the pirate fest the day before. It was known as the sword of consensus. At DrupalCon Austin Morten had a banana that he was using to point to people and ask “So can we agree on X?”. That is how it became the banana of consensus. It was basically a pointing stick.
- Technically, what is the change.
- Moving classes from core to a base theme called Classy.
- Multi-phased approach.
- Phase 1, move classes out of preprocess functions and into the core templates.
- Create the Classy base theme.
- Phase 2, copy the core template with classes to Classy, remove the classes from core.
- Why do themers need this.
- Better options
- Not everyone wants the same markup (themer survey)
- Avoiding php
- No time wasted undoing core.
- What work has been done, what is left.
- Preprocess changes (phase 1) far along.
- Classy is RTBC, waiting for Dries to approve.
- Phase 2 to start at or just after Amsterdam (don’t need to wait until phase 1 is 100% complete)
- Chance of failure?
- Changes have to be in by RC1.
- Who to thank?
- joelpittet, mdrummond, crowdcg, lauriii, alexpott!
- Are there any other theme layer changes to look forward to that have come about because of the banana consensus?
- addClass/removeClass is in, what about setAttribute/removeAttribute? Similarities to jQuery make this (hopefully) more approachable for frontend developers.
- Any other theming changes not related to banana?
- Improved menu theming - menu.html.twig using a Twig macro
- What it means for themers. What it means for developers.
- Preprocess is still there so contrib can add classes if necessary - but is it necessary? Could it be done as a data- attribute?
Patrick J Waters: How to programmatically load panel pages from the database and include panel pages stored in code in Drupal 7
After hours of munging through ctools and page manager module code I figured out how to load enabled panel pages programmatically in code.
Question: Who should be asking "How much documentation is enough?"
Answer: Everybody. Developers, Themers, Managers, CEO’s. Everyone in Software Development.
Impressions and Acquia's presentation from the 2014 Government ICT 2.0 conference in London.
More than 80% of employers we recently surveyed plan to hire Drupal talent within the next six months. There’s no better time to try to get into Drupal than the present — which is why we’ve launched Drupal Jobs.
To answer many of the questions we regularly hear about starting a Drupal Career, we’re reposting some information about the Drupal job market, generously provided by our friends Mike and Gwendolyn Anello over at DrupalEasy.
“It’s exciting to me that we have a community that has such demand for talent,” says Gwen Anello. “When it comes to the power of Drupal, the community isn't just window dressing— there are a lot of people full of true willingness to help and work together to move the Drupal project forward. I don’t know of any other career path where there is something as strong as the Drupal community that people can rely on for help."What’s the big deal?
Drupal is in demand for all kinds of websites. There are stories every day about organizations implementing or migrating to Drupal (read how NASA is saving millions by moving to Drupal and the cloud). All this demand for websites means talent is in high demand as well.
Additionally, Drupal 8 is in the works. It will dramatically improve Drupal's design capabilities, provide better support for responsive design for mobile devices, and include improved HTML5 and multi-lingual capabilities. Upgrades under the hood will allow Drupal to provide better personalization services, an improved content administration interface, and modern configuration management control.There were more jobs posted in 2013 than attendees at DrupalCon Austin
You read that right. Even without the predicted growth of Drupal adoption worldwide, the current demand demonstrates huge opportunity for those choosing the Drupal path. According to Drupal Easy, in 2013 there were 2,700 Drupal-related jobs listed on groups.drupal.org Jobs, 2,800 listed on Indeed by employers, and another 1,100 listed by recruiters. The cherry on the cake: based on recent research by Nancy Stango of Blink Reaction, the national average for web developers in Drupal is more than $87,000 USD per year.It’s not just a job
Work in the Drupal world often extends into specialties, support positions, business size and lifestyles. Opportunities abound for those in every space from freelancers to executives to coders to graphic designers. The Drupal community is not just developers servicing enterprise clients: it welcomes entrepreneurs, Fortune 500 companies, small Drupal shops, contractors, consultants and every specialty and support position from recruiting to accounting.How do I get started?
The first important step, according to Mike Anello of DrupalEasy, is to make sure you understand what is ahead, and are well equipped for it. The nature of Drupal as an open source framework generally means keeping up with the technology and the community, so committing to stay engaged is key. Mike cites five traits you'll need to be successful, regardless of your tech savvy:
Depending on your personality and the depth of your IT knowledge, you'll have to decide how you are going to get the education you need to succeed. There are a plethora of resources and training available, so choose one, or combine them to ensure you get what you need in a way that makes you comfortable. Training options include:
- Self-paced, such as Build-a-Module and Drupalize Me
- Instructor-led workshops, found at places like Blink Reaction, Acquia, and DrupalEasy
- Mentored learning, like Global Training Days or DrupalCon Training and Sprints.
- Career training, for those who want a formal, comprehensive, instructor guided program. A number of organizations such as DrupalEasy offer courses like these.
Most of us come to Drupal with some core skills, so consider taking the Drupal path that will best leverage your existing interests and skills, These niches include:
- Front-end development
- Back-end development
- Data Migration
- Project Management
- Performance and Scalability
- Module development
- User Experience
Actively participating in the Drupal Community is as important to your Drupal Career as knowledge and experience. It’s important to understand that how you leverage the community is key to your success. Meetups, camps and DrupalCons are great opportunities to learn and contribute, not just glad-handing, card-trading chamber of commerce-esque functions. IRC is an exchange mechanism, it is not a means to just get...you have to give. Mike's four aspects of community that you need to practice for Drupal success:
- Be (a little) selfish
Without the first three however; the fourth is not realistic. As you start out on a Drupal career path, learning and networking will be the prevailing activities, and is made possible by the good souls a bit further down the path. Hop on IRC and go to some meetups to get technical support, meet your peers, and build relationships. Once you get to the point where you can share, (it will happen sooner than you think!) answer some questions, present at a meetup or volunteer at your local/regional camp. With all of these karma points, you can start leveraging all the learning, networking and sharing you’ve done for some personal benefit. The key, again, is to take less than you put in – all in the spirit of community.
Ultimately, when it comes down to it, all you need to get started in the Drupal world are a computer, an open mind, and a willingness to help others and be helped in turn. What you do with the rest is up to you!
Image courtesy of fgr62 on Flickr.
Today's article is all about a fabulous tool for dependency management in your PHP projects. Composer solves the problem where you add a library to your application but it depends on this specific version of some other library, which also uses the yaml stuff, which needs ... you get the picture!
Composer helps us keep track of what external code our application relies on, and get it installed the right way on every copy of that application. This article will show you how to use Composer successfully in your own projects.
Here at Phase2, we believe that Drupal distributions have the potential to shift the playing field. However, one of the Drupal projects biggest challenges right now is awareness of its capabilities and value. As Tom Erikson discusses in his AMA a couple months ago:
“For Drupal to remain relevant we need to ensure that it competes well in [the market], and that the marketing and awareness of Drupal … improves dramatically.”
We see specialized distributions as a vehicle to market Drupal in an engaging and accessible way to the market. The usability, ease of setup, and specialization inherent in distributions helps Drupal compete in the greater software market. As we push to make user experience a major asset in Drupal 8, we have an amazing opportunity to build on the progress already made in so many of the distributions out there. Phase2 has recently made usability and UX improvements for Open Atrium and OpenPublic, and we are excited to see where we can take Drupal distributions next, as a community, laying the groundwork for Drupal 8.
Phase2 has always believed it is vital for Drupal distributions to be community-driven endeavors. For this reason, I am excited to announce that Phase2 will be kicking off DrupalCon Amsterdam with a Distribution hackathon!
The hackathon will start at 3PM on Monday September 29th, and will continue throughout the afternoon and into the night. We’re asking folks to get together and hack on install profiles, distributions and Apps to move Drupal forward. There is a lot of really awesome sprinting happening at DrupalCon already and we look forward to participating with the Drupal community. If you are interested in learning more about the Phase2 hackathon at DrupalCon Amsterdam, check out the program page and agenda to register for a spot!
It is claimed that "every HTML table in Drupal 8 is responsive." What this actually means is that tables in the Drupal 8 admin UI are responsive and also that in Views, if you select a Table format, you have the opportunity to prioritize columns that will hide upon reaching narrower breakpoints. The strategy that is employed is that of adding "priority" classes to table cells and a "responsive-enabled" class to the table tag. At a tablet breakpoint, the "priority-low" table columns will hide and at the mobile breakpoint, the "priority-medium" columns will also not display.