Drupal
Quick Fix
This is a utility module intended to include a collection of scripts useful for batch processing contents on a Drupal site.
Current Utility
- HTML decode node titles
Suggestions are always welcome!
Julian Granger-Bevan: How To: Start Contributing in Drupal.org Issue Queues
For the Drupal community, the majority of project management efforts tend to be conducted in issues queues.
This is one of the particular ways that we work within the Drupal community, and if you're new it might not be what you're used to.
We can discuss whether issues queues are the best solution at a different time!
In this post, I will:
- Introduce the types of issue queue used on Drupal.org
- Give a beginner's how-to guide for using them
Issue queues are used to manage tasks that need to be done in a project.
For a project called [name], the issue queue will be at http://drupal.org/project/issues/[name].
There are some different types of project on Drupal.org, and each type of project uses their issue queues a little differently:
- Drupal Core: There is only a single issue queue for Drupal core, and this queue coordinates all changes to the code in Drupal core. Due to the size, no single person generally reads every issue, but individuals monitor sub-sections of the queue based on the part of core affected, or the readiness of the change for commit.
- Drupal Contrib (modules, themes and distributions): As per Drupal core, these queues coordinate changes to the code in the module / theme or distribution within the project. These are generally smaller in size, and sometimes individual maintainers use each one slightly differently.
- Drupal.org Projects: The issues queues do not track anything related to code, but act as a ticketing system for changes to Drupal.org itself, and content moderation requests (such as the Webmasters and Infrastructure queues).
Whilst I've written the below tips to be fairly generic, some of them will be more naturally applied to the Drupal Core and Drupal Contrib types of project.
How To Use the Issue QueuesThe key to working well with the issue queues is using terminology consistently, and in the way that other users in Drupal (and that specific project) expect.
On initial creation of an issue, there are quite a few fields to capture information about the issue:
Let's talk about each field in turn:
- Project: It sounds easy, but try to make sure that you submit the issue to the correct project (double check!)
- Version: Do double check which version of the project you are talking about too. Note that changes to code are applied to a -dev release, so knowing that will give you additional kudos.
- Component: Each project supplies it's own list of components that can be used to segment the issues queue. Choose the one that you think sounds most relevant.
- Category: Also, select the element from this list that sounds most relevant.
Often, a maintainer will respond more favourably if you initially select support request rather than bug report, as it removes the initial implication that something is wrong.
- Priority: Unless you're experienced in the Drupal community, please leave this at "normal" - a common frustration within the community occurs when an issue is pushed to "critical" priority if it doesn't really need to be.
- Assigned: This field stores the person who is working on the solution to the issue. Don't assign an issue to yourself if you aren't going to provide a solution!
- Title: It sounds simple, but take a moment to ensure that the title you use briefly describes the problem.
- Description: This is your opportunity to provide more text, and so use this opportunity. If reporting a bug with a module, then describe the steps that you need to reproduce the problem again on a new installation of Drupal and that module.
All of these fields can be changed when you comment on an issue too.
The Status FieldI've pulled out status separately, because it this is where the majority of confusion happens. It warrants some extra explanation!
The status of an issue is how we track the progress of an issue.
As a new contributor, there are only a few of the status fields that you need to be concerned with.
- All issues should start at active. This indicates a question that hasn't been answered, a bug report without a solution, or a suggestion that hasn't been implemented.
- If a solution has been posted (often as a patch), the issue will be changed to needs review. Now, automatic tests may be done, and the issue will sit until another user (you!) has a look at the proposed solution and says whether it works.
- Sometimes, you might notice a problem with the solution and you should change the status to needs work.
- Hopefully though, the solution works. You can change the status to reviewed & tested by the community. (For bigger projects such as Drupal core, several reviews are needed before this stage.)
- At the end (once the solution has been implemented), the maintainer will mark the issue as fixed.
Some of this may sound daunting, but as pointed out in a recent Lullabot Drupalize.Me Podcast: "If you change it to the wrong status, someone else can change it back!"
As a module maintainer myself (with little time on my hands), I would much rather someone tried to help me out (and made a few mistakes), than I was left without the help.
ConclusionIf you're new to Drupal, I hope that you've learnt a lot from this post, and that it helps you in getting started in the Drupal community.
Welcome, and I hope you enjoy the experience.
If you're an experienced hand, what did you think of the suggestions I've made in this post?
Do use the comments to share your tips and suggestions as well.
Category: WebsitesTags: DrupalDrupal.orgDrupal PlanetIssue QueuesProject ModuleHow-ToPanels Selective IPE
This modules provides a new Panels Renderer Pipeline.
It's actually a more of a "router pipeline".. It will check against an array of regions to be "IPE Enabled". All other regions will render as normal and won't be editable through IPE.
The array of "IPE Enabled" regions can be overriden with a database variable.
This is a quick-fix before this is/might be integrated into panels itself. Here's the issue for that #1821618: Ability to lock regions from IPE completely
S1L: Drupal Commerce MailChimp module configuration tutorial
This is a tutorial on how to configure the basics of Drupal Commerce MailChimp module.
You need to properly configure your Drupal MailChimp module first. If you haven’t done so yet have a look at this tutorial on how to make MailChimp module work with Drupal. You'll also need a working Drupal Commerce installation. I can recommend the Commerce Kickstart distribution if you're starting from scratch.
first download these modules
http://drupal.org/project/addressfield_tokens
http://drupal.org/project/commerce_mailchimp
and enable the Commerce MailChimp module:
Configure Commerce MailChimp moduleNow go to example.com/admin/commerce/config/mailchimp. It will show you a settings screen that will look much like this:
Enter a store ID - you can make one up yourself. Make sure you don’t use the same ID in two different Drupal Commerce shops.
Enter a store name, and basically you’re done once you save the configuration.
The product category allows you to send Drupal Taxonomy data to MailChimp. This allows you to segment a list based on product category. Only Taxonomy fields that are added to the product Entity are listed here. It does not list the Taxonomy fields listed on the Product Display Entities.
More about category based segmenting of your MailChimp campaigns in my upcoming [tutorial on how to segment a MailChimp list based on Drupal Commerce eCommerce data].
Also take a quick look at the Commerce Mailchimo API Settings. MailChimp recommends the default setting of 30 days, but you can adjust it to your needs.
Events for updating eCommerce dataBy default Commerce MailChimp module will send order data from Drupal Commerce to MailChimp at the point of purchase.
It will also contain Rules that will update that order data at MailChimp if you alter or cancel a Drupal Commerce order.
You may also want to think about other events when your shop requires to update the eCommerce data that is attached to the MailChimp list subscriber. Making sure the Rules are setup correctly for your usecase is a very important step.
Rules module integrationCommerce MailChimp module has Rules support and adds two MailChimp Rule actions:
- Delete order data from mailchimp
- Send order data to mailchimp and subscription users to lists
They are added to the category ‘MailChimp’ in the actions dropdown.
There are default Rules included with Commerce Mailchimp Module
- Subscribe user to mailchimp lists of an order on checkout completion
- Update Ecommerce Order Information to MailChimp on checkout completion
- Upcoming: Update Ecommerce Order Information from MailChimp on order update
- Delete Ecommerce Order Information from MailChimp on order cancellation
The name of your Drupal Commerce products will appear as product name in your MailChimp account. Make sure to give them the names you’d like to segment on from within the MailChimp account. If you don’t give your products unique names from which you can identify them from, chances are your MailChimp eCommerce data will become a mess. In that case segmenting will be tough, if not impossible - so name your Drupal Commerce products wisely.
If you’re using Commerce Kickstart, have a look at this guide on how to rename Drupal Commerce products in Commerce Kickstart.
- Drupal Commerce MailChimp Module Features
- Tutorial on how to configure Drupal Commerce MailChimp module (current article)
- How to Subscribe to an email list during Checkout with Drupal Commerce and MailChimp
- Upcoming: Segmenting your email campaign based on Drupal Commerce product purchases
- Upcoming: Measuring email campaign sales with Drupal Commerce and MailChimp
S1L: Drupal MailChimp module Configuration Tutorial
To integrate MailChimp into your Drupal site and Drupal accounts you we need to configure it first. Here’s a step by step tutorial on how to do that.
Create a MailChimp accountYou need a MailChimp account for this tutorial, so you’ll have to create one first.
You’ll get $30 of MonkeyReward credits added to your MailChimp account once you become a paid MailChimp customer and signed up through this link http://eepurl.com/txB6H. Signup is Free, and MailChimp has a Forever Free plan where you can send 12,000 emails per month for free if you have fewer than 2,000 subscribers.
If you haven’t done so already, create a list in MailChimp. MailChimp created a neat tutorial about how to do that. http://kb.mailchimp.com/article/how-do-i-create-a-new-list
Create the MailChimp API KeyIn your MailChimp account go to ‘account’ in the top menu and click ‘API Keys & Authorised’ Apps and hit the blue(ish) ‘Add A Key’ button. An API key will be added. Label it with the name of the website you’ll use it on, so you won’t get confused what key to disable if it’s necessary to prevent one of your Drupal sites from accessing your MailChimp account. More on API keys at this MailChimp page about API keys.
Download & Enable Module & MCAPI classesDownload MailChimp module and Libraries module to your module directory.
And put MailChimps MCAPI class and readme.txt in your libraries/mailchimp folder (you can download them from here)
http://apidocs.mailchimp.com/api/downloads/mailchimp-api-class.zip
A more detailed instruction about these steps can be found in the modules’ readme.txt
Download the latest stable version of the MailChimp module and enable it at example.com/admin/modules. Also make sure to enable the MailChimp Lists module.
Enter the API KeyGo to example.com/admin/config/services/mailchimp and paste the API Key you created in your MailChimp account. Don’t forget to hit the ‘Save Configuration’ button.
Refresh the MailChimp listsNow go to example.com/admin/config/services/mailchimp/lists and FIRST hit the ‘Refresh lists from MailChimp’ button. It is very important to do that first as this will get the latest details about the lists you’ve setup in your MailChimp account to your Drupal site.
It will tell you ‘MailChimp lists have been refreshed’ - click the text ‘MailChimp lists’.
You will return to the example.com/admin/config/services/mailchimp/lists page.
That page will not yet show you your MailChimp list. You have to setup the list in Drupal first.
Let’s do that now.
On example.com/admin/config/services/mailchimp/lists hit the ‘Add a List’ button.
Enter a label and have a look at these settings and choose the one that fits your needs. Make sure to try different options on a test server first if you are not familiar with them.
Required lists forces all of a sites’ users to subscribe to the MailChimp list.
Optional lists allow people to subscribe during registration or to subscribe/unsubscribe from within their Drupal account page.
Free form lists allow you to signup anonymous users too.
Double opt-in users are subscribed to your list once they confirm the email link, single opt-in subscribers don’t have to confirm anything, and are subscribed right away.
Show subscription options on the user registration formSet the list type to ‘optional’ and you can check this box to make a list signup checkbox appear on the user registration form. Also make sure to check the ‘authenticated role’ in the Roles section of the list settings.
It may need a bit of styling to position it correctly depending on the Drupal theme you use.
Show Subscription Options on User Edit ScreenThis will allow users of your site to view and edit their subscription options from their user account screen. A tab with ‘Newsletter Subscriptions’ will appear like shown below:
Include interest groups on subscription formMailChimp Groups allow you to put List subscribers in to interest groups and allow you to segment email campaigns based on that. The setting shown here allows you to show the list group settings to the user.
If your goal is to segment list subscribers based on eCommerce data, have a look at my tutorial on how to setup MailChimp with Drupal Commerce, and my upcoming tutorial on allowing you to [segment lists based on Drupal Commerce data].
Enable MailChimp webhooks for this listMailChimp module caches the users list subscription in the Drupal database. Check this box if you want to automatically update that information when the user unsubscribes from a link in a campaign you sent.
MailChimp List Settings MailChimp ListThis lists all the MailChimp lists from your MailChimp account. Select the MailChimp list you want to use for your Drupal site.
MailChimp List Merge FieldsThe merge fields allow you to select what Drupal input fields will be connected (and submitted) to the MailChimp list fields. The fields you’ve added to the MailChimp list from within your MailChimp account will be listed here too. MailChimp has a tutorial on how to add fields to your MailChimp list.
And don't forget to save.
That's itThis concludes setting up the basic steps for Drupal MailChimp module. If you’d like to integrate MailChimp with Drupal Commerce take a look at the tutorial about integrating MailChimp with Drupal Commerce by applying Commerce MailChimp module.
Category: Drupal Planet MailChimp Email MarketingCleaning
Mass delete materials.
If your site has a lot of spam, you can use this module, you can select the criteria for removal and to remove unnecessary nodes.
Similar work module does VBO.
This only Drupal 6.x version.
Image Zoomer
Image Zoomer (or Image zoom) is a Drupal 7 module which provides 2 JQuery plugins; Power Zoomer and Featured Zoomer.
Power Zoomer demo can be seen here:
Powerzoomer.htm
And Featured Zoomer demo can be seen here:
Featuredzoomer.htm
If you know any kind of JQuery image zooms please give me a link I will integrate them into this module. My desire is to create a collection of all kind JQuery image zooms at one module to handle all image zooming activities in a Drupal site.
Commerce Paypal China
This module is a sub-module of Commerce Paypal to enable Paypal payment using RMB (CNY) .
Please note that to receive RMB, a separate Paypal China Account is required which is different from Paypal Global.
Additionally, Paypal China only allows you to receive RMB and not other currencies.
Dependencies:
Drupal Commerce
Commerce Paypal
Webform Back 'n Forth
Really simple module to address the frustration that users get* when clicking Previous (going backward) on a mutli-step webform and validation errors pop up. It will not stifle errors on Next and Submit, and the form will still be prevented from submitting bogus data or empty required fields. This module works site-wide against all your webforms.
How to use- Enable this module and visit a multistep webform (one that has page breaks) on your site.
- Click Next/Previous and play with the contents of any validated or required fields while so doing.
* Re. frustration that users get. This is clearly an objective statement. I have conducted no polls to verify that anyone other than my direct client was irked by this default behavior.
Matrix Component for webform
Extend Webform Module
You can also add matrix component using webform.
Pre Require Module- Webform
User select rows,cols. After select cols you can give type or elements.
Wunderkraut blog: Fatal error: Maximum function nesting level of '100' reached, aborting!
Using xdebug is almost a must when doing development with Drupal, but sometimes things just break because you are using it.
Just a small tip: Just had problems with wsod, white screen of death. It happended every time I emptied the cache on the site, and when I put on debugging and got I really nasty error. I could not reproduce it on our development server. One difference in the enviroments was that I had xdeug locally. The soultion were on Stackoverflow, and I just added ini_set('xdebug.max_nesting_level', 200); to my settings.php. And now it just works.
Web Wash: Using Bundle Copy Module In Drupal 7
The Bundle Copy module allows site builders to copy a "bundle" like a content type or vocabulary and its fields (What's an entity?). In Drupal 6 the CCK module shipped with a sub-module called Content Copy that allowed you to export content types and its fields into other sites. For Drupal 7 Content Copy was replaced by Bundle Copy. It's important to note that Bundle Copy is not a replacement for Features. Think of Bundle Copy as more as a light weight development tool for copying content types and vocabularies.
In this short video, we'll cover the following:
- How to use Bundle Copy
To Dos
This module helps users keep track of their own to-do lists. It's in early development, so
it has very minimal functionality. Once installed, you should see a link to your own to-do lists
and a drupal block displaying your lists.
Requires
- Entity API from http://drupal.org/project/entity
Short term tasks
- Add pagination functionality for lists/items
- Write some tests
Plans for the future
- Add support for adding fields to to-do entities.
- Add integration with other drupal contrib modules (like Views/Panels, Rules, etc.)
Liran Tal's enginx: Drupal 7 Rules book which I worked on has been published recently
In the past year I’ve been working on a Drupal 7 Rules book as a technical reviewer, which got published recently by Packt Publishing.
"Drupal Rules How-to" is a practical, hands-on guide that provides you with a number of clear step-by-step exercises, which will help you take advantage of the real power of the Rules framework, and understand how to use it on a site builder and developer level.
Tags: drupal-planet var switchTo5x=true;stLight.options({publisher:'dr-aa0c45a0-4d43-f185-5e54-b9ad4274b94'});Code Karate: Drupal 7 Entity Reference Prepopulate module
The Drupal 7 Entity Reference Prepopulate module allows you to automatically populate an Entity Reference Field from the URL. This is similar to a Drupal 6 module called Nodereference URL widget, but works with all entities.
In this episode you will learn:
- How to configure the Entity Reference Prepopulate module
- How to construct the URL to get the Entity Reference Field to fill in automatically
Drupal Easy: DrupalEasy Podcast 98: Bad(?) 80s Music
Holly Ross, the incoming executive director of the Drupal Association joined Ryan Price and Mike Anello on this episode to talk about the her background, the Drupal community, and her new job. Along the way we learn about her background in community organizing and building as well as her love of awesome 80s music. Other topics discussed include Omega 4, the usability of module names, and the 2012 internet in numbers.
Commerce Invoice Print
This module fills a gap between Commerce Invoice and Print modules.
It allows developers to create in their theme a template file to be used for and only for Drupal Commerce order invoice print pages.
After configuring both Print and Commerce Invoice modules, copy the print.tpl.php template file from print module's folder to your custom theme's folder, and rename it following patterns (by ascending preference order):
- print--invoice.tpl.php will apply to all invoice print pages
- print--invoice-[order-id].tpl.php will apply to invoice print pages for order of id [order-id]
- print--html--invoice.tpl.php will apply to all invoice print pages using HTML format (only format supported right now by this module)
- print--html--invoice-[order-id].tpl.php will apply to invoice print pages using HTML format for order of id [order-id]
The order variable is passed to the template and available under $commerce_order.
Dependencies AboutThis module was developed by Alethia INC. and sponsored by The Japan Association for Language Teaching (JALT).
