Drupal Planet

How Drupal Is Like Enterprise Software

Posted by Matt Farina on May 23, 2013 at 1:30pm

Drupal is a lot like enterprise software. Before you think this is a bad judgement on Drupal or a slur please hear me out. It's more a description of Drupal based on my experience with it for nearly 8 years and my last couple years dealing with enterprise software. I want to dive into some specific points that may be good, bad, and even make us unhappy with some of the things that make us happy.

Continue Reading »

ST Fiddle, an organization Drupal theme, free-of-charge for anyone to use it for charity purposes

Posted by Symphony Blog on May 23, 2013 at 9:41am

This organization theme was inspired by my talk with Kim McCluskey, the founder of SunInMyHeart.com, a charity fund. During his trip to Halong Bay, I have heard about what he did for SunInMyHeart to help orphanage children. So after the trip, I created this theme for organization and non profit purposes. 

If you are interested in using this theme for your charity funds, please feel free to ask me and I will send you the package free-of-charge.

We have received many requests to download this theme. As we believe the use of this theme for your websites will bring alot of benefits to other people, especially for charity purposes, we have converted this theme to Drupal 7 and provide it free of charge. No more asking, just go to the theme page and click on the Download tab, you will be able to get it.

Demo

See the demo here: Drupal theme ST Fiddle demo

read more

Field Group: wrap fields with custom markup

Posted by erdfisch on May 23, 2013 at 7:30am

I belive every sitebuilder already had the need to wrap multiple fields with some markup, for example to group them in a fieldset or simply to wrap them with a div to solve theming issues. The easiest way to acoplish that is to use the field group module, wich gives you a nice and handy ui integrated in the core field_ui. It comes with a common set of often used wrappers, like expandable fieldsets or even horizontal and vertical tabs.

The module itself is a great tool for sitebuilders and themers because it is easy to use and exportable with the features module.

Sadly the module is pretty old and it is very complicated to get new features in it, because so many sites already use the module. So everyone lived with the overload of classes field_group appends to its containers and the poor set of available markup. Yannickoo from Loom created a patch, wich allows the user to decide how the wrapper should look like, by simply adding the tag in the ui.

This looks somewhat like in the image above!

If you want to take advantage of this new feature, you need to download the latest development snapshot 7.x-1.x, instead of the stable release.

Credits are going to yannickoo for this great work!

Weitere Bilder: 

Drupal 8 WYSIWYG and File Cleanup

Posted by tsvenson on May 23, 2013 at 7:26am

Lets start with sending a big thank you to the Drupal Association for making the session videos at DrupalCon Portland available for watching within hours. It has created a whole new experience for me who couldn't make it there in person. Already I have had several good discussions on Twitter and elsewhere with people at the event.

Read the full "Drupal 8 WYSIWYG and File Cleanup" post on www.tsvenson.com

Best way to add new columns to custom table

Posted by KnackForge on May 23, 2013 at 5:38am

Often times it is needed to create module specific custom tables to store persistent data. Drupal offers a set of hooks in connection to this. Most commonly used among these are hook_schema() and hook_update_N(). First hook, hook_schema() holds the structure of table in the form of PHP array.

Google Plus One Linkedin Share Button Facebook Like

Drupalcon Portland Video Recap - Day 2

Posted by Mediacurrent on May 23, 2013 at 12:39am

Here's a quick video recap from Drupalcon Portland - Wednesday May 22nd. If you missed yesterday's recap, you can watch it here. 

Drupal Commerce - Product Display layouts

Posted by Code Karate on May 23, 2013 at 12:33am
Episode Number:  141 Post Topics:  Django Contrib Drupal Commerce Drupal 7 Site Building Drupal Planet

In this episode we continue learning about Drupal Commerce and dive into some of the layout aspects of building out Drupal Commerce product displays.

In this episode you will learn:

  • How to modify the layout of a Drupal Commerce product display
  • How fields are used to control the Drupal Commerce product display layout
DDoD Video:  See video

Drupalcon Portland Day 2

Posted by Amazee Labs on May 22, 2013 at 8:55pm

This Drupalcon has in many respects been about winning the hearts of the user: There's a constant UX track installed for the first time at a Drupalcon; Dries has used his keynote to talk about the importance of improving the web experience management (with some UXy slides!), UX expert Karen McGrane was invited to give today's keynote on the subject of multi-device content.

Her point: Lots of the tools that we build give the user the illusion that the web is print. Instead of using WYSIWYG and other (misleading) instruments, users should be able to add metadata with longer legs, making content multi channel capable. And if there's just one thing you want to watch today: Chris Blow's magically athwart presentation on Design Ops:

Open Source and Local Economies - Meet Ranko Marinic

Posted by Acquia on May 22, 2013 at 7:31pm

Here is one more conversation I had at Drupal Camp Alpe-Adria in April, 2013. Ranko Marinic is from Croatia and has some great perspectives. He works as an IT consultant with a wide range of technologies and with Drupal "by night". He is studying economics and has become interested in the economic effects on local communities of implementing open source software. Ranko also talks about the moment he really started believing in open source as a social movement.

ranko_final.mp3

St. Louis Drupal Users Post-Drupalcon Meetup

Posted by Zero to Drupal on May 22, 2013 at 5:59pm

Just a quick note that the St. Louis Drupal Users group chose to reschedule our normal meetup, which occurs every third Thursday of the month, to next week, the week after Drupalcon Portland. Last year, we had a meetup right after Drupalcon Denver and had a great turn out. Those who weren't able to attend learned what it's like to attend Drupalcon, and also got valuable insight into the sessions, keynotes, and other events surrounding this great event. This year, we have at least a few known members who are here at Drupalcon (along with myself for the first time), who will be sharing their experience with the group at next week's meetup.

So if you live in or around the St. Louis area, or know someone who does, please be sure to join us this Thursday, from 7p-9p at the Missouri History Musuem (more details about the meetup can be found here).

Tags

Planning successful projects: The User Story

Posted by Freelock on May 22, 2013 at 5:08pm

Hey, that's not what I was thinking!

That's a very common complaint customers have with developers, when they receive the result of weeks or months of hard work. And it indicates a failure of planning.

We've found nothing that works better to avoid this result than to write up and discuss user stories in detail.

What's a user story? It's a description of the process a person goes through to get a specific result, and what happens along the way.

Tags: Drupal PlanetProcessUser StoriesUMLQualityIndustry: BusinessE-CommerceEducationHealth CareSoftwareStory Type: Sustainable/Open Business

Guest Blog: Drupal Crowd-Funding Success!

Posted by Drupal Association News on May 22, 2013 at 3:53pm

Mike Gifford is President of OpenConcept Consulting Inc. and co-founder of Open Source Alliance of Canada.

We did it! The Drupal community raised $5k to bring Vincenzo Rubano to DrupalCon Portland. This is an amazing accomplishment that demonstrates that crowdsourcing to support the Drupal community can work very well.  Although it's been an idea that's been brewing for a while, we've been doing all that we could to bring Vincenzo to a DrupalCon.

Personal blog tags: Drupalcrowd fundingDrupal 8

DrupalCon Portland Day 2: See the group photo and watch Karen McGrane's keynote, "Thriving in a World of Change: Future-friendly content with Drupal"

Posted by DrupalCon Portland 2013 on May 22, 2013 at 3:18pm

Here comes the rain! DrupalCon Portland welcomes our attendees to Day 2, with breakfast sandwiches (look for the big black truck across the street from the Oregon Convention Center) and of course, cold and dreary Portland rain. Grab a Drupal branded hoodie and KeepCup from the DrupalCon bookstore (in room C121) to keep warm between sessions and so fellow Drupalers can spot you when running around the city later this week completing missions from our Photo Scavenger Hunt.

Working with Drupal Organic Groups

Posted by Propeople Blog on May 22, 2013 at 2:13pm

I'm sure the sentence 'There is nothing impossible in Drupal' is not something unfamiliar for your ears. This blog post is a proof of this statement. Here we, the Propeople Drupal Digital Agency team, will make an overview of the Organic Groups module, another useful and powerful module that is appreciated by many Drupal users and developers.

First of all: OG – what is this all about? I think the best example would be Facebook Groups. Have you heard about Facebook Groups? I bet you have. In most of the cases Organic Groups are similar. Creating groups – public or private, inviting members, posting content, commenting it. These sets of features are in the core of Facebook groups as well as in Organic Groups.

By using Organic Groups we can build an entire community platform similar to a forum, but with more social networking features such as notifications and connection between members. We also have advanced access management via roles and permissions, and the flexibility to create various types of content. On the project page we can see a list of websites that use Organic Groups, quite a few big names can be spotted.

Before creating an Organic Groups platform from scratch or implement it in an existing website, we have to figure out what do we want to have as main features and if they can be by the OG module pack.

Here is a list of necessary points and a short description for each of them on how to configure it in Drupal:

 

Creating Groups – the site administrator should be able to create group rooms.

After enabling the OG module we can define each content type, new or existing, as a group or as a group content. On the content type edit page we have a vertical tab called Organic Groups.



Groups are entities. Every user with the right permissions will be able to create groups. We can define multiple types of groups. If we create Public group and Private group content types we have different content types, so we can set different permissions and access levels.

 

Appoint a group owner – the site administrator should be able to appoint an owner of the group who will manage all the group settings, membership and content.

By default, the group owner is the author of the group node. But it is configurable. Every group node has an interface for managing subscribed people.

 

Group posts or group content - define various types of content and relate it with groups.

Defining group content is similar to defining groups. Organic Groups vertical tab that appears on the edit page of the content type has an option - Group Content where can set the target bundles. In other words we choose which group types to use as group content. Posting content in groups can be restricted via roles and permissions.

 

Commenting in groups – all group members should be able to comment.

As a node itself, groups and group content have the option to enable comments. Commenting in groups can be restricted via roles and permissions. Defining roles and setting permissions will give us the control we need.

 

Listing group content and group members.

OG modules pack comes with predefined views. We can use them to list group content or group members. Displays are Block and Content Pane so we have what we need. Great!

 

Notifications – send emails when user is subscribing and adding content.

The OG modules pack also comes with a predefined set of rules. We can send emails to user subscription. For adding content we need to define custom rules.

 

So, if you need a social-based flexible forum-like website, or you are just curious about the module, do not hesitate to install and configure Organic Groups today.

Don’t miss a post about Drupal world, follow us on Twitter, Facebook and subscribe to Propeople RSS feed.

Language English Tags: DrupalDevelopmentTutorialsCheck this option to include this post in Planet Drupal aggregator: planet

Learning Sass and Compass

Posted by Lullabot on May 22, 2013 at 10:00am

More and more projects today are using CSS preprocessors, with Sass being one of the most popular out there. What exactly is a CSS preprocessor? It is a scripting language based on CSS that lets you do amazing things with your CSS. We have a new series out, Learning Sass and Compass, to get you up to speed on this new cool tool for front-end development.

Our Drupal Workplace: The Issue Queue

Posted by tsvenson on May 22, 2013 at 8:35am

Sooner, not later, you will end up in the Issue Queue on d.o. Its practically unavoidable if you want to get the most out of your relation with Drupal.

The more involved you get, particularly as a code developer or themer, you will find that you spend more and more of your time working on and jumping around between issues. The list of issues you are active in and/or monitoring is constantly growing.

At this point you have turned the issues queue into: Your Workplace!

Read the full "Our Drupal Workplace: The Issue Queue" post on www.tsvenson.com

Drupalcon Portland Video Recap - Day 1

Posted by Mediacurrent on May 22, 2013 at 7:17am

Here's a quick video recap from Drupalcon Portland - Tuesday, May 21st. 

How To Notify Site Builders If Something Is Required In Drupal 7

Posted by Web Wash on May 22, 2013 at 6:43am

The hook_requirements (API Doc) hook allows you to define custom requirements for modules. The hook can be used to simply notify a site builder with an alert, this is how the Update manager module works. If you have the Update manager module installed and it discovers an out of date module, it'll display an alert that certain modules need updating.

As another example, in the past I've used the hook to display an alert if API login credentials were not available.

You can also define very strict requirements where the installation of a module is aborted when requirements are not met.

In this article we'll look at how to use the hook for install requirements that aborts an installation if the requirements are not met. Then we'll look at how to display an alert, similar to how the Update manager displays alerts.

How to find and debug large variables in Drupal 7

Posted by Pixelite on May 22, 2013 at 4:00am
Facebook Like Google Plus One Linkedin Share Button

On a recent large Drupal project we were finding that the variable table was holding around 4 MB of data. The issue of course with this is that this is loaded into memory on each page request regardless of whether or not you use it. Another issue is that the variable table holds serialized data, and there is an additional CPU overhead of actually de-serializing the data as well.

Introducing Variable debug

So I wrote a module Variable debug that is a straight forward and simple module that attempts to do only two things (at the moment):

  1. A list of the highest memory usage variables stored in the {variable} table sorted by highest to lowest. There is also a list of links to Drupal.org issues to help resolve some known high usage offenders. If you know of an issue that exists that aims to resolve in-efficient usage of the variable table, please raise a new issue in the issue queue for this module.

  2. A list of all suspected orphaned variables in the variable table. This is determined by whether or not the variable is:

    1. Not a variable provided by Drupal core
    2. Does not start with an enabled module name

    This can help you find and remove potential abandoned variables that are of no use to you and your site.

Symptoms of rogue variables

Sometimes Drupal contributed modules use the variable table as a dumping ground for large variables that really should be stored in dedicated tables. Here is an example from one of our websites using the SQL query:

SELECT LENGTH(value) AS length, name FROM variable ORDER BY length ASC;

And the end of the result:

|    534 | hs_config_taxonomy-17                                           |
|    551 | subscription_mail_status_activated_body                         |
|    561 | hs_config_taxonomy-13                                           |
|    573 | googleanalytics_custom_var                                      |
|    580 | article_import_known_columnists                                 |
|    600 | menu_masks                                                      |
|    617 | order_completion_text_digital_auth                              |
|    620 | menu_default_active_menus                                       |
|    622 | order_completion_text_corporate_auth                            |
|    626 | user_mail_register_no_approval_required_body                    |
|    638 | menu_minipanels_hover                                           |
|    660 | field_bundle_settings_node__page                                |
|    666 | article_import_known_agencies                                   |
|    700 | field_bundle_settings_node__collection                          |
|    702 | field_bundle_settings_node__article                             |
|    733 | order_completion_text_print_auth                                |
|    781 | field_bundle_settings_node__promotion                           |
|    869 | order_completion_text_digital                                   |
|    903 | subscription_activation_text_unverified                         |
|    939 | order_completion_text_print                                     |
|    955 | order_completion_text_corporate                                 |
|    991 | field_bundle_settings_node__subscription                        |
|   1012 | subscription_activation_text_pending                            |
|   1073 | field_bundle_settings_commerce_product__subscription_product    |
|   1278 | entityreference:base-tables                                     |
|   1783 | high_risk_districts                                             |
|   1988 | commerce_enabled_currencies                                     |
|   2356 | metered_useragent_whitelist                                     |
|   2515 | rules_empty_sets                                                |
|   2796 | apachesolr_index_last                                           |
|   3178 | memcache_wildcard_flushes                                       |
|   3673 | drupal_js_cache_files                                           |
|   7804 | features_codecache                                              |
|  14840 | drupal_css_cache_files                                          |
| 852329 | imagefield_crop_info                                            |
+--------+-----------------------------------------------------------------+
1207 rows in set (0.02 sec)

Anything over several hundred bytes in the variable table really has to take a step back any look at better utilising cache tables.

Integration with Drupal.org issues

The next feature I added to the module was known large variables, and links to Drupal.org issue queue items that contain patches to resolve the large memory usage.

Here is a screenshot showing the functionality.

Screenshot of the functionality showing links to Drupal.org issues

Questions

Let me know in the comments if this helps you, also if you have any other known rogue variables that have Drupal.org issues, that would also be welcome.

Tags

drupal drupalplanet debugging code development

Source

Variable debug

Category

Tutorial

Zact: Launching a Major Mobile Startup

Posted by Chapter Three on May 22, 2013 at 12:19am

We just launched Zact, one of our largest design projects to date at Chapter Three. We designed nearly 200 comps, including an e-commerce workflow, a customer dashboard that mirrors the functionality of the phone’s software, a Support section built on ZenDesk, and a consumer-facing website.

A disruptive new cell phone provider, Zact is a new company looking to redefine how customers purchase mobile services by making your plan 100% customizable right from your phone with no overage fees or contracts. They even give you a refund every month for any unused minutes, texts or data.

Helping Zact overcome business hurdles
As a new company in a major market, Zact turned to Chapter Three to help them solve some of their immediate business hurdles online.

  • Establishing brand trust
    To overcome lack of brand recognition and to educate new customers about the key advantages of the service, we created the “Why we're different” and “How it works” sections as a way for new customers to get to know us.
  • Paying full price for the phone
    To educate customers about the long term savings of buying the phone at full price, we created an interactive Savings Calculator. The calculator allows customers to compare various plan and phone options to their current bill to show their dollar amount saved over a two year period.
  • Buying a phone online
    Without the ability to physically touch the phone customers are buying, we needed to build in extra guarantees to make customers feel comfortable purchasing a device online. We featured a “satisfaction guarantee” statement prominently throughout the site, promising a refund within 30 days if the customer did not like the phone.

Herculean feats of UX strength
The complexity of interactions across the site gave us an opportunity to flex our UX chops. We collaborated with Zact’s usability specialist, incorporating feedback from weekly usability tests to iteratively improve our designs.

  • Customer dashboard
    To provide the functionality of the phone’s software on the website, we designed a web-specific interpretation of the phone software that empowers customers to access and control the full breadth of Zact’s service offerings. Because the software was being developed in parallel with our web design, we adopted an agile design approach to iterate in sync with the development team.
  • E-commerce
    Our team worked with Zact’s usability specialist to implement a checkout flow pulling from best practices across the web. We delivered a solution that pushes the capabilities of Drupal Commerce and its ability to integrate with third-party systems.

Agile design
An agile design process was critical in the success of this project. We needed to be flexible as requirements and scope were changing daily. We met with the client daily via WebEx with new design deliverables for review, which allowed us to gather feedback often and respond quickly. For any given page, we were able to explore a number of options on a high level before focusing on a more final solution.

In fact, some of the best ideas on the project came directly from the client, as a result of organic discussion during those meetings. The Savings Calculator, which allows users to more visually understand how they will save money over time with Zact, grew out of a conversation we facilitated.

Our first iterations of the Savings Calculator were pretty skeletal and didn’t quite feel right; the user had to fill out the form and click a button before seeing results. After further discussion, the client suggested that we make the actual dollar savings visible and dynamic throughout the page, so that as you interact with the form you can directly see how your savings are affected. This minor design change immediately made the page more engaging and an effective tool in communicating why Zact is a viable alternative to a traditional phone contract.

Starting up in Silicon Valley with Drupal
One of the most exciting and challenging parts of the project was the rapid pace of startup culture. The level of expertise and web savvy amongst Zact’s staff allowed for a flourishing partnership where we were able to push boundaries and do great work together. So far, the site has been covered by some major press outlets, including Gizmodo, Engadget, Forbes and TechCrunch.

The site is finally live, but our work isn’t over yet. We’re continuing to evaluate and optimize the usability of the site and will continue to roll out design updates over the coming weeks. We look forward to working further with Zact and seeing how users will react to the new site.

Subscribe with RSS Syndicate content

Planet Drupal aggregates broadly appealing, Drupal-related blog posts pertaining to the community at large (code, advocacy, marketing, infrastructure etc.). If you would like your blog to be included in the Planet, read the requirements and steps on how to join.

Collecting posts from the following 516 sources:

XML feed
nobody click here