Planet Drupal

Syndicate content
Drupal.org - aggregated feeds in category Planet Drupal
Updated: 47 min 33 sec ago

Drupal Watchdog: Call For Contributions: Spring/Summer 2015, Strategy Cookbook

Fri, 11/21/2014 - 18:43
div class=field field--body field-type-text-with-summary field-label-hidden field--rss pAs Drupal Watchdog approaches its fifth year of publication, we’re sending out a call for contributions to our upcoming emSpring/Summer 2015/em issue. Guided by helpful feedback from our readers, I’m excited to announce that our next issue will be a emStrategy Cookbook/em. What does that mean? I’m glad you asked…/p pAnyone that has spent any time with Drupal knows that it is a very flexible tool. And while flexibility is wonderfully powerful, it can also be wickedly complex. Whether you’re a business owner or product owner, site builder or developer, a site maintainer or a project manager, a business strategist or analyst, a themer or a systems administrator, a designer or a student, you have certainly struggled with complexity around Drupal./p pThis next issue of Drupal Watchdog aims to document a variety of useful strategies for navigating this complexity in all of its forms. We are looking for useful recipes, case studies, tips, and tricks for how to best leverage Drupal to solve strategic business problems./p pWe are looking for articles on emContent Strategy/em: the analyzing, sorting, constructing, placing and managing of content on a web site. Why are people visiting your website, what is the content they’re interested in, and how can you assure them a meaningful experience? What contributed modules and configuration choices do you use to support your content strategy?/p pWe’re looking for articles on emBusiness Strategy/em: how stakeholders set goals and objectives that take into account available resources, competition, and the entire business environment. Are there key questions that need to be asked, specific to using Drupal? How does a business adapt to meet the changing landscape?/p pWe’re looking for articles that help readers differentiate the forest from the trees, focusing on value. We’re looking for explorations of the role of analytics in evaluating content and deployment strategy. And we’re looking for examples of organizational and business problems that Drupal is good at solving./p pOur emStrategy Cookbook/em will be this and much more: please email me at a href=mailto:jeremy@drupalwatchdog.comjeremy@drupalwatchdog.com/a with proposals for what you’d like to write for this next issue of Drupal Watchdog!/p pFor more information on content length and process, visit the following links:br /a href=http://drupalwatchdog.com/contributehttp://drupalwatchdog.com/contribute/abr /a href=http://drupalwatchdog.com/submission-guidelineshttp://drupalwatchdog.com/submission-guidelines/a/p pWe will require a rough draft of your contribution and any supporting materials by Monday, February 2nd, 2015. We must receive the final draft (including all images, tables, code snippets, etc) by February 16th, 2015. /p pemEmail your proposals to a href=mailto:jeremy@drupalwatchdog.comjeremy@drupalwatchdog.com/a/em./p /div div class=field field--tags field-type-taxonomy-term-reference field-label-above field--rss div class=field-labelspan class=icon glyphicon glyphicon-tag aria-hidden=true/spanTags:nbsp;/div div class=field-items a href=/tags/content-strategy typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Content strategy/a a href=/tags/deployment-strategy typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Deployment strategy/a a href=/tags/business-strategy typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Business strategy/a /div/div

Code Karate: Drupal 7 Protected Pages Module

Fri, 11/21/2014 - 17:48
div class=field field-name-field-episode-number field-type-number-integer field-label-abovediv class=field-labelEpisode Number:nbsp;/divdiv class=field-itemsdiv class=field-item even180/div/div/divdiv class=field field-name-field-ddod-video field-type-file field-label-hiddendiv class=field-itemsdiv class=field-item evenimg src=http://codekarate.com/sites/default/files/styles/large/public/media-youtube/EEj34eQCT7k.jpg?itok=FVDkNHgk alt=Drupal 7 Protect Pages Module - Daily Dose of Drupal episode 180 //div/div/divdiv class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item evenpIn this video we look at the a href=https://www.drupal.org/project/protected_pages rel=nofollowProtected Pages/a module for Drupal 7. This module allows for password protection on paths in Drupal. In other words, this module will prompt a visitor to a specific page to enter a password before they are able to see the content. /p pThis is one of those modules that exists to just make this use case simple. There are a ton of other ways to accomplish this with permissions and roles in Drupal, but it is always nice to have a simple way to accomplish this task. /p/div/div/divdiv class=field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-abovediv class=field-labelTags:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/category/tags/drupalDrupal/a/divdiv class=field-item odda href=/category/tags/drupal/core-concepts/usersUsers/a/divdiv class=field-item evena href=/category/tags/drupal/drupal-7Drupal 7/a/divdiv class=field-item odda href=/category/tags/drupal-planetDrupal Planet/a/div/div/div

Drupal Association News: We Want Your Feedback

Fri, 11/21/2014 - 17:45
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item evenpimg alt=Feedback class=left src=https://assoc.drupal.org/files/14279306964_f661d8df0b_m.jpg style=width: 240px; height: 180px; /At the Drupal Association, we’re focused on making Drupal better for everyone. You may have heard that we are working to make the Drupal.org experience better for all of our visitors, but we’re not going to stop there. We also want to make DrupalCon a more valuable and inclusive experience for everyone./p pFor that, we need help from our friends in the Drupal community. strongWe’re looking for people who work at companies that use Drupal, but don’t provide a Drupal product or service./strong Whether you’re in the C-suite at Twitter, a developer working for a small business, or a manager who oversees the running of a Drupal website, we want to talk to you./p pstrongIf you fit this criteria and udo not/u attend DrupalCon/strong, and would be willing to speak with us, a href=https://drupalassociation.webform.com/form/14336please fill out this contact form/a or leave us a comment. Megan Sanicki, our Associate Director, will be in touch with you shortly to talk to you about how we can improve DrupalCon to better fit the needs of you and your business./p pImage credit to a href=https://www.flickr.com/photos/cogdog/14279306964/in/photolist-8c4krv-8EqL2E-6d2bfk-f2Norm-3UaCt1-fHDzMS-fHn2Xp-f2NoAs-fHmZW8-fHn2Li-fHDxZf-7VieK3-f2y8tp-f2NnPu-gv2Fmz-nKPbtE-fzviyT-5cYBHS-d7KKVA-hNBVNS-8pCp4W-f2y8ia-nXyYE6-8CsTbz-6bgoC9-hFv6Qm-6AsfvS-jYXzr-4MP1nY-4MP1vf-6AsbBE-pFFHx-4pLkm8-8dHRBG-6Ao8nK-jYXvo-5cUhAa-6Ao5Sk-6Ao8N8-6Asdcj-6d2bwc-6Ao67t-6Ao9kX-f2y9HP-dnNNJt-nQ5aQ3-9E4LD8-7iN1DE-e987Cm-H8bdJAlan Levine/a on flickr./p /div/div/div

Stanford Web Services Blog: Doing more with the editor, Part 1, adding CSS styles

Fri, 11/21/2014 - 17:18
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedp class=summaryspanHave you ever wanted to put a border on an image or highlight a link for more information in a text field? It is possible to configure the /spanspan Styles dropdown menu in your /spanspanWYSIWYG editor to allow you to add styles to the content in a text field. /spanspanIf you don't know how to configure your Styles dropdown, here's how you can add multiple classes to an element using the HTML editor pane of the WYSIWYG./span/p h2Disable the WYSIWYG/h2 pTo edit the HTML in a text area:/p olli pNavigate to the page you'd like to edit/p/li/ol/div/div/div

The Cherry Hill Company: Deployment and Development workflows at Cherry Hill

Fri, 11/21/2014 - 16:58
pLast year, we reached a milestone at Cherry Hill when we moved all of our projects into a managed deployment system. We have talked about Jenkins, one of the tools that we use to manage our workflow and there has been continued interest on what our recipe consists of. Being that we are using open source tools, and we think of ourselves as part of the (larger than Drupal) open source community, I want to share a bit more of what we use and how it is stitched together. Our hope is that this helps to spark a larger discussion of the tools others are using, so we can all learn from each other./p pimg alt=Git height=92 src=/sites/default/files/images/article/logo%402x.png width=220 //p pGit is a distributed code revision control system. While we could use any revision control system such as CSV, Subversion (and even though this is a given with most agencies, we strongly suggest you use *some* system over nothing at all), git is fairly easy to use, has great.../p a href=/ class=views-more-linkRead more »/a

Daniel Pocock: PostBooks 4.7 packages available, xTupleCon 2014 award

Fri, 11/21/2014 - 15:12
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpI recently updated the PostBooks packages in Debian and Ubuntu to version 4.7. This is the version that was a href=https://launchpad.net/ubuntu/+source/postbooksreleased in Ubuntu 14.10 (Utopic Unicorn)/a and is a href=https://tracker.debian.org/pkg/postbookspart of the upcoming Debian 8 (jessie) release/a./p h3Better prospects for Fedora and RHEL/CentOS/EPEL packages/h3 pAs well as getting the packages ready, I've been in contact with a href=http://www.xtuple.comxTuple/a helping them generalize their build system to make packaging easier. This has eliminated the need to patch the makefiles during the build. As well as making it easier to support the Debian/Ubuntu packages, this should make it far easier for somebody to create a spec file for RPM packaging too./p h3Debian wins a prize/h3 pWhile visiting a href=http://danielpocock.com/xtuplecon-webrtc-talk-schedule-changexTupleCon 2014 in Norfolk/a, I was delighted to receive the a href=http://www.xtuple.com/press/top-open-source-community-awards-announced-xtuplecon14Community Member of the Year/a award which I happily accepted not just for my own efforts but for the Debian Project as a whole./p pimg src=http://www.xtuple.com/sites/default/files/images/hackbarth-pocock-community-award-xtuplecon14.jpg //p pema href=https://github.com/shackbarthSteve Hackbarth/a, Director of Product Development at xTuple, myself and the impressive/em Community Member of the Year emtrophy/em/p pThis is a great example of the productive relationships that exist between Debian, upstream developers and the wider free software community and it is great to be part of a team that can synthesize the work from so many other developers into ready-to-run solutions on a 100% free software platform./p pReceiving this award really made me think about all the effort that has gone into making it possible to codeapt-get install postbooks/code and all the people who have collectively done far more work than myself to make this possible:/p ulliThe a href=https://qa.debian.org/developer.php?login=pkg-postgresql-public@lists.alioth.debian.orgDebian PostgreSQL packaging team/a making the PostgreSQL server, client libraries and related packages available to install and upgrade easily on Debian and Ubuntu./li liThe a href=https://qa.debian.org/developer.php?login=debian-qt-kde@lists.debian.orgDebian Qt/KDE packaging team/a providing the Qt libraries./li lia href=http://shadura.me/Andrew Shadura/a originally a href=https://lists.debian.org/debian-devel/2013/03/msg00356.htmlstarted the Postbooks packaging/a and preparing patches for a clean build on Debian./li lia href=http://julianalouback.comJuliana Louback/a who created the a href=http://jscommunicator.orgJSCommunicator / WebRTC/a extension for xTuple's new web interface a href=http://danielpocock.com/positive-results-from-opw-2013while working in Google Summer of Code/a./li lia href=http://www.xtuple.comxTuple themselves/a, who have an ongoing and enthusiastic commitment to free software and are a href=https://github.com/xtuple/xtupleactively developing their new web platform on Github/a./li /ulpHere is a screenshot of the xTuple web / a href=http://jscommunicator.orgJSCommunicator/a integration, it was one of the highlights of xTupleCon:/p pimg src=http://danielpocock.com/sites/danielpocock.com/files/xtuple-jscommunicator-demo.png width=540 //p pand gives a preview of the wide range of commercial opportunities that WebRTC is creating for software vendors to displace traditional telecommunications providers./p pxTupleCon also gave me a great opportunity to see new features (like the a href=http://www.xtuple.com/drupalxTuple / Drupal web shop integration/a) and hear about the success of consultants and their clients deploying xTuple/PostBooks in various scenarios. The product is extremely strong in meeting the needs of manufacturing and distribution and has gained a lot of traction in these industries in the US. Many of these features are equally applicable in other markets with a strong manufacturing industry such as Germany or the UK. However, it is also flexible enough to simply disable many of the specialized features and use it as a general purpose accounting solution for consulting and services businesses. This makes it a good option for many IT freelancers and support providers looking for a way to keep their business accounts in a genuinely open source solution with a strong SQL backend and a native Linux desktop interface./p /div/div/div

Károly Négyesi: Where does migrate in core stand?

Thu, 11/20/2014 - 23:48
pMigrate is horribly broken! Migrate works awesome! Both are true. (Yes!) So Keith Dechant reported migrating a live Drupal 7 site to Drupal 8. Melissa Anderson is migrating a Drupal 6 site and gets mostly bugs. How is this possible? Well, Keith was coding his way around bugs, not just using what core provided (this should be obvious since we do not yet provide Drupal 7 sources in core) and Melissa had a site builder approach to it. Both of them are poised to contribute: Keith will share his code for Drupal 7 in the sandbox and Melissa files great bug reports and writes documentation with tips of how to use xdebug to find out what's broken with a migration. At this juncture if you are not prepared for either you will have a bad time with using migrate. Otherwise, see, it works!/p

Drupal.org Featured Case Studies: The Weather Channel (weather.com)

Thu, 11/20/2014 - 23:41
div class=field field-name-field-mainimage field-type-image field-label-hiddendiv class=field-itemsdiv class=field-item evenimg src=https://www.drupal.org/files/styles/case588x306/public/weathercom_0.png?itok=azrQk1mz width=588 height=306 alt= //div/div/divdiv class=field field-name-field-link field-type-link-field field-label-abovediv class=field-labelCompleted Drupal site or project URL:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=http://www.weather.comhttp://www.weather.com/a/div/div/divdiv class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item evenpa rel=nofollowWeather.com/a is the highest trafficked Drupal site in existence, with over 1 billion unique visitors per month. The Weather Channel teamed up with a href=http://www.mediacurrent.com/ rel=nofollowMediacurrent/a to migrate from their previous content management system to Drupal. Not only were we able to help The Weather Chanel adopt an open-source solution, but the new website has drastically improved page load times and reduced infrastructure requirements./p /div/div/divdiv class=field field-name-field-module field-type-node-reference field-label-abovediv class=field-labelKey modules/theme/distribution used:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/project/panelsPanels/a/divdiv class=field-item odda href=/project/servicesServices/a/divdiv class=field-item evena href=/project/wysiwygWysiwyg/a/div/div/divdiv class=field field-name-field-developed-org field-type-node-reference field-label-abovediv class=field-labelOrganizations involved:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/marketplace/mediacurrentMediacurrent/a/divdiv class=field-item odda href=/marketplace/acquiaAcquia/a/div/div/divdiv class=field field-name-field-profiles field-type-user-reference field-label-abovediv class=field-labelTeam members:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/u/jeffdiecksjeffdiecks/a/divdiv class=field-item odda href=/u/silicon.valetSilicon.Valet/a/divdiv class=field-item evena href=/u/kendall-tottenKendall Totten/a/divdiv class=field-item odda href=/u/kbasarabkbasarab/a/divdiv class=field-item evena href=/u/jamesrutherfordjamesrutherford/a/divdiv class=field-item odda href=/u/andrew-m-rileyAndrew M Riley/a/divdiv class=field-item evena href=/u/paulmckibbenpaulmckibben/a/divdiv class=field-item odda href=/u/derek.derapsderek.deraps/a/divdiv class=field-item evena href=/u/mrjmdmrjmd/a/divdiv class=field-item odda href=/u/markiemarkie/a/div/div/div

Another Drop in the Drupal Sea: A new approach to Drupal training

Thu, 11/20/2014 - 19:30
pThere are many paid and free Drupal training sites on the internet. To the best of my knowledge, none of them is open source. And I'm quite certain none of them is ridiculously open./p pa href=http://blog.isaacsonwebdevelopment.com/blog/2014/11/20/new-approach-drupal-training target=_blankread more/a/p

Acquia: Custom Distributions on Acquia Cloud: Part 2 -- Updating with Drush Make

Thu, 11/20/2014 - 18:57
div class=field field-name-body field-type-text-with-summary field-label-hidden div class=field-items div property=content:encoded class=field-item evenpIn the a href=/blog/custom-distributions-acquia-cloud-part-1-drush-make target=_blankfirst post/a of this series on Drush Make we looked at building a custom Drupal install profile on Acquia Cloud using Drush make. In this installment, we look at managing and updating the code in your install profile and deploying it onto Acquia Cloud. Keeping up with new releases is one of the most important aspects of maintaining any site and leveraging Drush make can dramatically reduce the effort involved with that process./p/div /div /div span property=dc:title content=Custom Distributions on Acquia Cloud: Part 2 -- Updating with Drush Make class=rdf-meta element-hidden/span

Drupal Association News: Better than FTP

Thu, 11/20/2014 - 18:42
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item evenpAs things stand today, Drupal.org's mirror network is an essential part of the Drupal.org infrastructure. The ftp.drupal.org infrastructure hosts millions of files, serving everything from Drupal Core to contributed modules and themes, but it's beginning to show its age./p pOur current FTP mirrors (co-located, in Oregon, Illinois, and New York) have been behaving erratically: projects have been failing to sync to the mirrors, being deleted before update, and sometimes disappearing from the mirrors for hours or days at a time. Even when working properly, the replication from the primary to additional mirrors can take as much as 45 minutes./p pCompounding these issues is the fact that we do not have robust control or access to the existing architecture when problems arise./p pSo we've taken a step back to ask:/p pstrongHow can we deliver these files in a more reliable way?/strongbr / On the modern web, the key elements of file delivery are:/p ulliHigh availability/li liPeering capacity designed for strongglobal/strong delivery/li liFast replication/li liHTTPS/TLS support/li /ulpA Content Delivery Network is the answer to these problems, which is why we're evaluating MaxCDN to replace the ftp.drupal.org infrastructure./p pstrongBut wait - does this mean the ftp:// protocol will no longer work?/strongbr / Yes. The FTP protocol is aging as well.../p ulliIn the month of October 2014, ftp:// had 96 unique visitors. Of those 96 unique visitors, only 33 of them made over 10 requests./li liThe ftp pathing differs from http, making the experience of using ftp:// confusing and inconsistent./li liReplacing the ftp:// protocol with http will enable us to secure Drupal.org with HTTPS across all domains./li /ulpstrongHow you can help/strongbr / We need users to help us test MaxCDN as an alternative for file delivery. a href=https://www.drupal.org/node/2357551You can track the issue here/a, and help us by testing the MaxCDN based downloads. Please report back your findings (good or bad) and let us know if there are any showstoppers./p pTo test, add this line to your /etc/hosts file:/p blockquotep ~$ sudo vim /etc/hostsbr / 198.232.124.192 ftp.drupal.org /p/blockquote pAnd continue using ftp.drupal.org as you normally would through Drupal.org project pages, drush dl, etc./p /div/div/div

Mediacurrent: The Weather Channel’s Journey to Drupal

Thu, 11/20/2014 - 18:00
img typeof=foaf:Image src=http://d1l4od7sxc8nwf.cloudfront.net/cdn/farfuture/s2--qKeRsRbOsQ4_4ncoyD_k3BuQkvexq5UpK7Fx_sk/mtime:1416504475/sites/default/files/styles/thumb_blog_spotlight/public/weatherlaunches.png?itok=lBu80pv9 width=200 height=154 alt=Weather.com Launches on Drupal title=Weather.com Launches on Drupal / pWhen my business partner, Paul Chason, and I joined forces over seven years ago we had a rather simple vision for Mediacurrent. We were convinced that open-source software offered a superior value proposition over proprietary, licensed based solutions. We had an ambitious goal of starting a digital agency that was going to revolutionize how companies thought about the way they managed their web properties. As a href=https://www.youtube.com/watch?v=u4ZoJKF_VuA target=_blankSimon Sinek/a so eloquently describes, this was our why and purpose./p

Drupal Watchdog: Different, Not Difficult

Thu, 11/20/2014 - 17:36
div class=field field--article-edit-printtype field-type-list-text field-label-hidden field--rss Article /div div class=field field--article-body field-type-text-long field-label-hidden field--rss pAs AppNeta’s developer evangelist, I work with customers in five different programming languages to monitor application performance. Drupal is just one part of one language, but I’ll always have a soft spot for it because it’s where I learned to program. When I get a chance, I like to keep my skills sharp by contributing to the community-maintained TraceView integration module. Last spring, I decided to port it and learn Drupal 8 the hard way./p p Like most Drupal developers, I’d never tried writing Symfony code or using Composer to manage packages. Before attempting it, I decided to research both Symfony in its own right and how it is being leveraged to rewrite Drupal. Thankfully, there were many rich tutorials on “the basics” even then, and, after a relatively painless porting process, I had the module running with a skeletal Symfony bundle inside it./p p Initially, I relied on the same strategy as the Drupal 7 version of the TraceView module, which monitors hook execution time by installing two additional modules: an “early” module with a very low weight and a “late” module with a very high weight. As each hook was removed from core, I moved its implementations from the modules into the bundle and tagged that event with listeners at maximum and minimum priority./p /div

Dries Buytaert: Weather.com using Drupal

Thu, 11/20/2014 - 17:06
div class=field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-abovediv class=field-labelTopic:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/tag/drupal typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Drupal/a/divdiv class=field-item odda href=/tag/acquia typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Acquia/a/divdiv class=field-item evena href=/tag/drupal-sites typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Drupal sites/a/div/div/divdiv class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpOne of the world's most trafficked websites, with more than 100 million unique visitors every month and more than 20 million different pages of content, is now using a href=http://drupal.orgDrupal/a. a href=http://weather.comWeather.com/a is a a href=http://www.comscore.com/Insights/Press-Releases/2014/4/comScore-Media-Metrix-R-Ranks-Top-50-US-Desktop-Web-Properties-for-March-2014top 20 U.S. site/a according to a href=http://en.wikipedia.org/wiki/ComScorecomScore/a. As far as I know, this is currently the biggest Drupal site in the world./p pWeather.com has been an active Drupal user for the past 18 months; it started with a content creation workflow on Drupal to help its editorial team publish content to its existing website faster. With Drupal, Weather.com was able to dramatically reduce the number of steps that was required to publish content from 14 to just a few. Speed is essential in reporting the weather, and Drupal's content workflow provided much-needed velocity. The success of that initial project is what led to this week's migration of Weather.com from a href=https://www.percussion.com/Percussion/a to a href=http://drupal.orgDrupal/a./p pThe company has moved the entire website to Acquia Cloud, giving the site a resilient platform that can withstand sudden onslaughts of demand as unpredictable as the weather itself. As we learned from our work with New York City's a href=http://www.mta.infoMTA/a during a href=https://www.acquia.com/resources/case-study/mtaSuperstorm Sandy in 2012/a, “weather-proofing” the delivery of critical information to insure the public stays informed during catastrophic events is really important and can help save lives./p pThe team at Weather.com worked with a href=http://acquia.comAcquia/a and a href=http://mediacurrent.comMediacurrent/a for its site development and migration./p div class=figure div class=img style=border: 1px solid #ccc; padding: 4px;display: inline-blockimg src=/sites/buytaert.net/files/cache/drupal-weather-channel-575x863.jpg style=display:block alt=Weather channel//div /div /div/div/div

Acquia: Meet Cal Evans ... Meet Jeffrey A. jam McGuire

Thu, 11/20/2014 - 15:14
div class=form-item form-type-item labelLanguage /label Undefined /div div class=field field-name-body field-type-text-with-summary field-label-hidden div class=field-items div property=content:encoded class=field-item evenp strongVoices of the ElePHPant / Acquia Podcast Ultimate Showdown Part 1/strong - Cal Evans and I got the chance to sit down and talk (a lot!) at DrupalCon Amsterdam and talk about a range of topics we have in common. In this first part of a 2-part series, we talk Drupal, PHP convergence and the PHP Renaissance, open source communities, proprietary v open source business and the ethics of helping, and more. /p h2 Why PHP?br //h2 p According to Cal, PHP has three things going for it: /p/div /div /div span property=dc:title content=Meet Cal Evans ... Meet Jeffrey A. quot;jamquot; McGuire class=rdf-meta element-hidden/span

Paul Booker: Creating you own API endpoint using Services

Thu, 11/20/2014 - 12:53
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpre class=brush: php /** * Implements of hook_services_resources(). */ function mymodule_services_services_resources() { $api = array( 'frontpage' = array( 'operations' = array( 'retrieve' = array( 'help' = 'Retrieves front page', 'callback' = '_mymodule_services_frontpage_retrieve', 'access callback' = 'user_access', 'access arguments' = array('access content'), 'access arguments append' = FALSE, 'args' = array( array( 'name' = 'fn', 'type' = 'string', 'description' = 'Function to perform', 'source' = array('path' = '0'), 'optional' = TRUE, 'default' = '0', ), array( 'name' = 'nitems', 'type' = 'int', 'description' = 'Number of latest items to get', 'source' = array('param' = 'nitems'), 'optional' = TRUE, 'default' = '0', ), array( 'name' = 'since', 'type' = 'int', 'description' = 'Posts from the last number of days', 'source' = array('param' = 'since'), 'optional' = TRUE, 'default' = '0', ), ), ), ), ), ); return $api; } /** * Callback function for blog retrieve */ function _mymodule_services_frontpage_retrieve($fn, $nitems, $timestamp) { // Check for mad values $nitems = intval($nitems); $timestamp = intval($timestamp); return _mymodule_services_blog_items($nitems, $timestamp); } /** * Gets frontpage blog posts */ function _mymodule_services_blog_items($nitems, $timestamp) { // Compose query $query = db_select('node', 'n'); $query-join('node_revision', 'v', '(n.nid = v.nid) AND (n.vid = v.vid)'); $query-join('comment', 'c', 'c.nid = n.nid'); $query-join('users', 'u', 'n.uid = u.uid'); $query-fields('v', array('timestamp', 'title')); $query-addField('u', 'name', 'author'); $query-addField('n', 'nid'); $query-addField('n', 'title'); $query-addField('n', 'uid'); $query-addField('n', 'created'); $query-addField('n', 'changed'); $query-addField('u', 'picture'); $query-addExpression('COUNT(c.cid)', 'comments'); $query-condition('n.type', 'blog', '='); $query-groupBy('n.nid'); // How many days ago? if ($timestamp) { $query-condition('v.timestamp', time() - ($timestamp * 60 * 60 * 24), ''); } $query-orderBy('v.timestamp', 'DESC'); // Limited by items? if ($nitems) { $query-range(0, $nitems); } $items = $query-execute()-fetchAll(); return $items; } /pre/div/div/divdiv class=field field-name-field-tags field-type-taxonomy-term-reference field-label-above clearfixh3 class=field-labelTags: /h3ul class=linksli class=taxonomy-term-reference-0a href=/drupal-developer/tags/hookservicesresources typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=hook_services_resources/a/lili class=taxonomy-term-reference-1a href=/drupal-developer/tags/headlessdrupal typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=headlessdrupal/a/lili class=taxonomy-term-reference-2a href=/drupal-developer/tags/services typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=services/a/lili class=taxonomy-term-reference-3a href=/drupal-developer/tags/drupalplanet typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=drupalplanet/a/li/ul/divdiv class=easy_social_box clearfix horizontal easy_social_lang_und div class=easy_social-widget easy_social-widget-twitter firsta href=http://twitter.com/share class=twitter-share-button data-url=http://www.paulbooker.co.uk/drupal-developer/code-snippet/creating-you-own-api-endpoint-using-services-0 data-count=horizontal data-lang = en data-via= data-related=:Check it out! data-text=Creating you own API endpoint using ServicesTweet/a/div div class=easy_social-widget easy_social-widget-facebookiframe src=//www.facebook.com/plugins/like.php?locale=en_USamp;href=http%3A//www.paulbooker.co.uk/drupal-developer/code-snippet/creating-you-own-api-endpoint-using-services-0amp;send=falseamp;layout=button_countamp;width=88amp;show_faces=trueamp;action=likeamp;colorscheme=lightamp;font=amp;height=21amp;appId= scrolling=no frameborder=0 style=border:none; overflow:hidden; width:88px; height:21px; allowTransparency=true/iframe/div div class=easy_social-widget easy_social-widget-googleplusdiv class=g-plusone data-size=medium data-annotation=bubble data-href=http://www.paulbooker.co.uk/drupal-developer/code-snippet/creating-you-own-api-endpoint-using-services-0/div/div div class=easy_social-widget easy_social-widget-linkedin lastscript type=in/share data-url=http://www.paulbooker.co.uk/drupal-developer/code-snippet/creating-you-own-api-endpoint-using-services-0 data-counter=right/script/div /div !-- /.easy_social_box --

Drupal Commerce: Commerce 2.x Stories: Taxes

Thu, 11/20/2014 - 10:40
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpWhy doesn’t Commerce/Magento/$otherSolution handle my taxes properly? That’s the most basic feature!” - many people, often./p pWhen it comes to eCommerce, nobody likes taxes. We expect taxes to “just work”, so we can finish our projects and get on with our lives. At the same time, no other topic is as complex./p pSelling online puts us at the crossroads of different (and sometimes conflicting) laws with many rules and even more exceptions. All eCommerce systems provide the basic tools (“Define your tax rates and specify when to apply them”) and make the site developer responsible for tax compliance. The developer usually passes that responsibility to the client, sometimes implicitly. The client consults an accountant, sometimes. But the buck has to stop somewhere, and it often comes back to the developer, 5 days after launch./p pAs taxes become more and more complex, there is a need for smarter tax handling, where the application does more and the site administrator less. In the Commerce 1.x lifecycle we’ve built the a href=http://drupal.org/project/commerce_vatcommerce_vat/a module to handle the more and more complex VAT taxes. For 2.x, we’re bringing this approach back into core, and releasing several libraries to share the solution with the wider PHP community./p pa href=https://drupalcommerce.org/blog/31036/commerce-2x-stories-taxesRead more.../a/p /div/div/div

PreviousNext: Community gathering at DrupalCamp Melbourne

Thu, 11/20/2014 - 03:51
pIt's been a while since the last DrupalCamp in Melbourne, so the community came together recently to share what they know. Here's a brief wrap up of the two day event./p span property=dc:title content=Community gathering at DrupalCamp Melbourne class=rdf-meta element-hidden/span

Paul Booker: 10 commands that could help you to survive Drupageddon

Thu, 11/20/2014 - 01:18
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpIt's been more than a month since Drupageddon so I thought I would post an update of my previous post.br / br/br / bCommands that help with auditing:/b/p pShowing files that have changed on the live server:/p pre class=brush: bash git status /prep Looking for code execution attempts via menu_router:/p pre class=brush: sql select * from menu_router where access_callback = 'file_put_contents' /prep Another possible code execution attempt via menu_router:/p pre class=brush: sql select * from menu_router where access_callback = 'assert'; /prep Showing which files are on the live server and not in version control:/p pre class=brush: bash diff -r docroot repo | grep 'Only in docroot' /prep Looking for PHP files in the files directory:/p pre class=brush: bash find . -path *php /prep Looking for additional roles and users:/p pre class=brush: bash select * from role select * from users_roles where rid=123 /prep Checking the amount of time between when a user logged into your site and their most recent page visit:/p pre class=brush: sql select (s.timestamp - u.login) / 60 / 60 / 24 AS days_since_login, u.uid from sessions s inner join users u on s.uid = u.uid; /prep br/br / bCommands that can help with recovery:/b/p pApply the patch. Hotfix: (SA-CORE-2014-005)/p pre class=brush: php curl https://www.drupal.org/files/issues/SA-CORE-2014-005-D7.patch | patch -p1 /prep End active sessions, i.e log everyone out./p pre class=brush: php TRUNCATE TABLE sessions; /prep Updating passwords:/p pre class=brush: php update users set pass = concat('XYZ', sha(concat(pass, md5(rand())))); /prep If you need help regarding the recent drupal vulnerability feel free to a href=http://www.paulbooker.co.uk/contactcontact me/a./p pP.S./p pLatest a href=https://www.drupal.org/SA-CORE-2014-006security advisory/a was today./p /div/div/divdiv class=field field-name-field-tags field-type-taxonomy-term-reference field-label-above clearfixh3 class=field-labelTags: /h3ul class=linksli class=taxonomy-term-reference-0a href=/drupal-developer/tags/drupageddon typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Drupageddon/a/lili class=taxonomy-term-reference-1a href=/drupal-developer/tags/security typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=security/a/lili class=taxonomy-term-reference-2a href=/drupal-developer/tags/drupalplanet typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=drupalplanet/a/li/ul/divdiv class=easy_social_box clearfix horizontal easy_social_lang_und div class=easy_social-widget easy_social-widget-twitter firsta href=http://twitter.com/share class=twitter-share-button data-url=http://www.paulbooker.co.uk/drupal-developer/code-snippet/10-commands-could-help-you-survive-drupageddon data-count=horizontal data-lang = en data-via= data-related=:Check it out! data-text=10 commands that could help you to survive DrupageddonTweet/a/div div class=easy_social-widget easy_social-widget-facebookiframe src=//www.facebook.com/plugins/like.php?locale=en_USamp;href=http%3A//www.paulbooker.co.uk/drupal-developer/code-snippet/10-commands-could-help-you-survive-drupageddonamp;send=falseamp;layout=button_countamp;width=88amp;show_faces=trueamp;action=likeamp;colorscheme=lightamp;font=amp;height=21amp;appId= scrolling=no frameborder=0 style=border:none; overflow:hidden; width:88px; height:21px; allowTransparency=true/iframe/div div class=easy_social-widget easy_social-widget-googleplusdiv class=g-plusone data-size=medium data-annotation=bubble data-href=http://www.paulbooker.co.uk/drupal-developer/code-snippet/10-commands-could-help-you-survive-drupageddon/div/div div class=easy_social-widget easy_social-widget-linkedin lastscript type=in/share data-url=http://www.paulbooker.co.uk/drupal-developer/code-snippet/10-commands-could-help-you-survive-drupageddon data-counter=right/script/div /div !-- /.easy_social_box --

Shomeya: How to Level Up from Nice Guy Dev to Awesome Guy Dev

Thu, 11/20/2014 - 01:05
img alt=Article_yfl5qgbf64ajwddmcj8m height=199 src=http://cdn.shomeya.com/uploads/article/image/29/article_yfl5qgbf64ajwddmcj8m.jpg width=590 /pIf a href=http://gizmodo.com/barbie-f-cks-it-up-again-1660326671Barbie I can be a Computer Engineer/a taught us anything it taught us that Steven and Brian are nice guys. They just want to help, they know how to fix it, and they are there just when you need them to be. And worst of all they don#39;t mean anything by it./p pSo what#39;s a nice guy to do? You care, you retweet the awesomest feminist blogs, you were ON it during #gamergate. But on a human interaction level how does it go? Here are some ways that you can level up from just that nice guy that I don#39;t call out on everything, but who secretly makes me sad, to awesome guy that makes my day well ...awesome. /p a href=http://shomeya.com/articles/how-to-level-up-from-nice-guy-dev-to-awesome-guy-dev?utm_campaign=how-to-level-up-from-nice-guy-dev-to-awesome-guy-devamp;utm_medium=rssamp;utm_source=tag-drupal-planetRead more/a