Planet Drupal

Subscribe to Planet Drupal feed
Drupal.org - aggregated feeds in category Planet Drupal
Updated: 24 min 27 sec ago

Unimity Solutions Drupal Blog: Jasmine for Unit Test Cases

Thu, 03/11/2016 - 11:23

Unit Test Case is a part of Software Development Process in which the smallest testable parts of an application, called units, are individually and independently scrutinized for proper operation. Unit tests are typically written and run by software developers to ensure that code meets its design and behaves as intended. Jasmine has a clean, obvious syntax so that you can easily write tests.

Categories: Elsewhere

Unimity Solutions Drupal Blog: Jasmine for Unit Test Cases

Thu, 03/11/2016 - 10:20

This blog explains how Jasmine can be used for Unit Testing.

Categories: Elsewhere

Agiledrop.com Blog: AGILEDROP: Drupal Camps in Africa

Thu, 03/11/2016 - 07:31
After our CEO Iztok Smolic again went on a DrupalCon event, this time in Dublin, to expend his and company's knowledge, we decided that we will present you the options of attending Drupal events. After already explaining, why you should attend DrupalCons, we will now focus exclusively on Drupal Camps. No matter on which continent you live, you'll know, where to widen your horizon and learn something useful about Drupal. Be it for business or for pleasure. Drupal camps are drupal-related events usually organized by a local Drupal user groups, which need a place, sponsors, volunteers,… READ MORE
Categories: Elsewhere

Drupal Console: Drupal Console RC-7 is out

Wed, 02/11/2016 - 20:51

The latest RC-7 is out with several bug fixes and a new experimental logger. 

Drupal Console will start recording errors at `path/to/drupal8/console/log/`. 

Release information:

Instructions:

Categories: Elsewhere

Four Kitchens: Launch Announcement: NYU Wagner Graduate School of Public Service

Wed, 02/11/2016 - 17:00

Introducing the new website for the New York University Robert F. Wagner Graduate School of Public Service, a public policy school that offers a comprehensive curriculum in public and nonprofit administration, policy, and management. […]

Categories: Elsewhere

Appnovation Technologies: Drupal Atlantic: Building a Community

Wed, 02/11/2016 - 16:37

Our Saint John office recently held the first ever Drupal Meetup to happen in the city with Drupal Atlantic. 

Categories: Elsewhere

Evolving Web: Burrito Maker: How to Create Custom Fields in Drupal 8

Wed, 02/11/2016 - 12:12

A detailed tutorial on creating custom fields in Drupal 8 using the field API.

read more
Categories: Elsewhere

Blair Wadman: Making a Drupal 8 route dynamic

Wed, 02/11/2016 - 11:59

In the last tutorial in this series, Understanding routes and controllers, we looked at the two fundamental steps to programmatically define a custom page in Drupal 8. Today we are going to take this one step further and add a parameter to the route, so that it is dynamic.

Categories: Elsewhere

Third & Grove: Running a PHPUnit test for each site in a Drupal 7 multisite

Tue, 01/11/2016 - 18:54
Running a PHPUnit test for each site in a Drupal 7 multisite brandon Tue, 11/01/2016 - 13:54
Categories: Elsewhere

Four Kitchens: Trip Report: BADcamp 2016 — Teaching, Learning, and Bonding

Tue, 01/11/2016 - 17:00

I’ve just returned from my first big Drupal camp and I’d like to tell you about my experience. […]

Categories: Elsewhere

OSTraining: Reusable Images and Files with Media Bundles in Drupal

Tue, 01/11/2016 - 14:32

This week, an OSTraining member asked us how they could re-use media in Drupal 8.

Using the Drupal media modules, I will explain how you can upload PDFs, images and other media that can be re-used on your site.

In this tutorial, we're going to rely on the Media module. 

Categories: Elsewhere

TimOnWeb.com: Happy birthday to me and Devel form debug module to you all

Tue, 01/11/2016 - 13:36
I’m turning 32 today. People love birthdays, to me it’s just another line number in a messed stack trace output (philosophy mode enabled).   Two years ago I released a drupal module called Get form id (deprecated from now on) that does one small task - it tells you any form's id ...

Read now

Categories: Elsewhere

Chapter Three: BADCamp 2016 Roundup

Mon, 31/10/2016 - 19:34

Our minds and hearts were full as BADCamp 2016 came to a close. It was overflowing with excellent presentations and the best of the community. Our team led a Drupal 8 training, presented in the Front End Summit, and held a few presentations and sessions along the way. Here are a few of the recordings:

The Slice Template

Zakiya Khabir and Nica Lorber

Categories: Elsewhere

Palantir: Palantir.net's Guide to Digital Governance: Content

Mon, 31/10/2016 - 19:09
Palantir.net's Guide to Digital Governance: Content Palantir.net's Guide to Digital Governance brandt Mon, 10/31/2016 - 13:09 Scott DiPerna Oct 31, 2016

This is the sixth installment of Palantir.net’s Guide to Digital Governance, a comprehensive guide intended to help get you started when developing a governance plan for your institution’s digital communications.

In this post we will cover...
  • Some basic content types that might be included on your site
  • Questions you should consider for each content type

We want to make your project a success.

Let's Chat.

In addition to defining ownership for every piece of content on the website, it may also be beneficial to consider and provide guidelines for the many types of content which will appear on the site. Here are some common content types along with some of the questions to consider in defining appropriate usage for your organization.

News and News Listings
  • Who is permitted to publish news on the website?
  • Which kind of news items are permissible for publishing on the site? Which are not?
  • Is there a set of required information that must appear in all news items, such as headline, sub-head, preview text, author name, thumbnail image, etc.?
  • How many sources of news or news listings are presented on the site, and what are they?
  • Who may publish news to or from these sources?
  • Are there editors or gatekeepers who monitor the news that is published or submitted?
  • If so, what are the criteria they use for determining which news items are permitted or not permitted?
  • What happens to those that are permitted? And to those that aren’t?
  • May users or groups of user request their own news listing?
  • What is the process for acquiring a news listing?
  • May the creator of a news item have his or her item appear in the news listings of others?
  • What is the process for sharing news with other parts of the site?
Events, Event Listings and Calendars, Event Registration
  • Who is permitted to publish an event on the website?
  • Which kind of events are permissible for publishing on the site? Which are not?
  • Is there a set of required information that must appear in all events, such as title, date, time, location, contact info, thumbnail image, etc.?
  • How many sources of events, event listings, or calendars are presented on the site, and what are they?
  • Who may publish events to or from these sources?
  • Are there editors or gatekeepers who monitor the events that are published or submitted?
  • If so, what are the criteria they use for determining which events are permitted or not permitted?
  • What happens to those that are permitted? And to those that aren’t?
  • May users or groups of user request their own events listing or calendar?
  • What is the process for acquiring a events listing or calendar?
  • May the creator of an event have his or her event appear in the listings or calendars of others? What is the process for sharing events?
  • Are events, listings, and calendars hosted by third-party services (such as Google Calendar) permitted?
  • May third-party event and calendar content be imported into pages of your Website?
  • May events have a registration form?
  • How is the registration form developed and published?
  • Who collects the form submissions, and how is the data collected?
  • May payments be collected through the registration form?
  • How is the payment collection process managed?
Blogs
  • Who is permitted to publish a blog on the website?
  • What kinds of blogs are permissible for publishing on the site? Which are not?
  • Are group blogs allowed, or are they all individual person blogs?
  • Who may publish to or from group blogs? How are bloggers added and removed?
  • Are there any rules about the authorship of blogs on the site, such as they must be publicly attributable to the person or group writing them?
  • Are there any legal qualifications that need to be addressed for blog content, such as blog content does not reflect the official opinions, policies, or beliefs of the organization as a whole?
  • Are there editors or gatekeepers who monitor the blog posts that are published or submitted?
  • If so, what are the criteria they use for determining which blog posts are permitted or not permitted?
  • What happens to those that are permitted? And to those that aren’t?
  • May users or groups of user request their own blogs?
  • What is the process for acquiring a blog?
  • May a blogger have his or her post appear in the blogs of others? What is the process for sharing posts?
  • Are blogs hosted by third-party services (such as WordPress or Blogger) permitted?
  • May third-party blog content be imported into pages of your Website?
Basic or Standard Pages (i.e. general pages of the site, like “About Us”)
  • Who is permitted to publish basic content pages on the site?
  • Once a page is published, who has permission to edit that page?
  • Are there any restrictions to the type of content that can appear on a basic page?
  • How is the location (within the menu hierarchy of basic pages, i.e. navigation) of new pages determined?
  • Do basic pages need to be reviewed or approved prior to being published?
  • What are the required elements of a basic page in order for it to be published (i.e. title, sub-title, body copy, preview copy, hero image, thumbnail, URL alias, etc.)?
Images, Audio and Video
  • Are images, audio files, and/or videos allowed to be published to the site?
  • What file types and sizes are permitted?
  • Are there any rules regarding where and how those assets are stored on the site or server?
  • Are there any guidelines for how images, audio, and video owned by your organization are to be used on the website?
  • May they be edited or altered?
  • What types of attributions are required for acknowledging the creator(s) of those assets?
  • Do you require release forms from any individuals who may be captured in those assets?
  • Do you hire contractors to produce images, audio, or video assets? If so, who owns that material?
  • Are images, audio files, and videos hosted on other Websites permitted to be displayed on your site?
  • Are there any restrictions or limitations to the type, quality, content, authorship, or source of the images, audio files, or videos hosted elsewhere and displayed on your site?
  • Are there any guidelines for the use of these types of assets from outside sources.
  • What is your policy for using copyrighted material (images, audio, video, as well as textual copy, excerpts, etc.) from outside sources on your website?
  • Who is permitted to publish images, audio, and/or video to the website?
  • Are there editors or gatekeepers who monitor the images, audio files, and videos that are published or submitted?
  • If so, what are the criteria they use for determining which are permitted or not permitted?
  • Is there a workflow for the materials that are permitted? And to those that aren’t?
  • Should users of the site be permitted to download or reuse your copyrighted materials?
  • Do you clearly display permission rights on the website?
Embedded Objects and Scripts
  • Are embedded objects and scripts permitted to be used on your website, using HTML elements such as embed, script, or iframe?
  • Are there limitations to how, when, and where these elements can be used?
  • Who is permitted to publish these types of code to the website?
  • Are there editors or gatekeepers who monitor the publishing of embedded objects and scripts?
  • If so, what are the criteria they use for determining what code is permitted or not permitted?
  • What happens to those that are permitted? And to those that aren’t?

These are some common types of content and the issues that surround them, but you may have your own set of issues that need to be addressed specifically in your governance plan, so add those wherever it seems appropriate.

Very likely, you have additional content types, beyond those listed above, in your website. You will want to ask the same types of questions as those above about your additional content types as well.

 

This post is part of a larger series of posts, which make up a Guide to Digital Governance Planning. The sections follow a specific order intended to help you start at a high-level of thinking and then focus on greater and greater levels of detail. The sections of the guide are as follows:

  1. Starting at the 10,000ft View – Define the digital ecosystem your governance planning will encompass.
  2. Properties and Platforms – Define all the sites, applications and tools that live in your digital ecosystem.
  3. Ownership – Consider who ultimately owns and is responsible for each site, application and tool.
  4. Intended Use – Establish the fundamental purpose for the use of each site, application and tool.
  5. Roles and Permissions – Define who should be able to do what in each system.
  6. Content – Understand how ownership and permissions should apply to content.
  7. Organization – Establish how the content in your digital properties should be organized and structured.
  8. URLs – Define how URL patterns should be structured in your websites.
  9. Design – Determine who owns and is responsible for the many aspects design plays in digital communications and properties.
  10. Personal Websites – Consider the relationship your organization should have with personal websites of members of your organization.
  11. Private Websites, Intranets and Portals – Determine the policies that should govern site which are not available to the public.
  12. Web-Based Applications – Consider use and ownership of web-based tools and applications.
  13. E-Commerce – Determine the role of e-commerce in your website.
  14. Broadcast Email – Establish guidelines for the use of broadcast email to constituents and customers.
  15. Social Media – Set standards for the establishment and use of social media tools within the organization.
  16. Digital Communications Governance – Keep the guidelines you create updated and relevant.

Stay connected with the latest news on web strategy, design, and development.

Sign up for our newsletter.
Categories: Elsewhere

Web Wash: Using Display Suite in Drupal 8: How to Customize Content Pages

Mon, 31/10/2016 - 19:08
You've just installed a fresh Drupal 8 website, created a few content types and attached fields to them. So far so good. Now you want to customize the content pages. On the "Manage display" page you can re-order fields and disable them but you can't move them into any type of region. Display Suite enhances the "Manage display" page by offering a drag-and-drop interface for fields. You can select different layouts and each layout has its own set of regions. The drag-and-drop interface then is used to move fields into these regions, all without writing a single line of code. The real benefit in using Display Suite is you always have a standard workflow for modifying content pages. If you’re working in a team, this is even more important; you want to standardize how entity types are customized. Or you’ll end up in a situation where each developer does things their own way.
Categories: Elsewhere

Vardot: What Are My Options to Get Geolocation Detection in My Site?

Mon, 31/10/2016 - 15:05
How to, Resources Read time: 4 minutes

IP geolocation detection works through well-known databases that map IP ranges to countries. For example:

  • an IP range of 5.83.240.0 to 5.83.255.255, means that it came from Ireland.
  • an IP range of 46.23.112.0 to 46.23.127.255 means that it came from Jordan.
  • an IP range of 86.36.0.0 to 86.37.255.255  means that it came from Qatar.

and so on.

Major and credible IP mapping databases are MaxMindip2c.org, and IP2Location.

The problem with using a database lies in performance. Each request to view your website, will generate a request to the IP database, to determine the country.
If you get 5 requests per second, this means 5 queries to your IP database, to determine the country.

Therefore, you will need to rely on a very fast, highly optimized, database engine to carry the load of IP-to-country queries.
This database must not be your website's database.

And therefore, for faster performance, and to not overwhelm the site's servers with IP-to-countries queries for each page view, we can have the following implementation options:

Through a Third-party

Having the detection from a third-party is easier to setup, and requires you to pay for the service of the third-party only. No extra setup or maintenance is required from you.

  1. CloudFlare IP Geolocation: CloudFlare applies a layer between the visitor and the servers of your website. CloudFlare supports GeoIP location detection, and is embedded in that layer without any extra effort. Your website must be using CloudFlare CDN and "IP Geolocation" option must be enabled at your CloudFlare settings.
    CloudFlare's Pro subscription requires your DNS zone file to be managed from CloudFlare which is not a good option for some organizations.
    See pricing here: https://www.cloudflare.com/plans

 

  1. MaxMind GeoIP2 Precision Web Services: MaxMind provides reliable GeoIP detection. By using the paid service (not the database), the load is managed by MaxMind's servers and not your site. A user ID and license key is required here. You will need to buy one of their services and they will provide you the login details. You can view your user ID and license key inside your MaxMind account.
    See pricing here: https://www.maxmind.com/en/geoip2-precision-services
    If you opt-in for Country-level detection (costs $0.0001 per query), and your site gets 200,000 visits per month, you'll need to pay $20/month.

Through Homegrown Solution (Using Databases)

You can use the available databases (MaxMindip2c.org, or IP2Location) to build your own detection. However, a high-performance setup is required here to handle high traffic. Also you should consider the maintenance costs, and manual database updating (which usually needs to be updated every week).

Assuming that you have access to your servers (a.k.a hosting  with a VPS or Dedicated Servers), this setup can be done through:

  1. Using Same Servers or Reverse Proxy: You can install MaxMind DB Apache Module, which allows for IP-to-location queries to MaxMind database from Apache, thus getting the information faster from querying your site's database or application.
  2. Setup a Node.js Server with MaxMind Database: You can install a pure JavaScript module for Geo IP lookup using MaxMind binary databases. This provides very fast look up using Node.js. Remember you'll need to maintain this setup, and keep updating the database manually.
  Recommendation

If you're looking for faster time to market, and less maintenance overheads, go with one of the third-party implementations. You'll get more reliable and accurate service.

The homegrown solution will provide cheaper solution, but will be on the expense of maintaining it. That is of course of you have the ability to perform this setup.

Tags:  Drupal Geolocation Drupal Planet Title:  What Are My Options to Get Geolocation Detection in My Site?
Categories: Elsewhere

Amazee Labs: Sprint Mentoring

Mon, 31/10/2016 - 13:20
Sprint Mentoring

Last month, for DrupalCon Dublin, I participated in my first sprint day… as a mentor. It was a day packed with fun, inspiration, motivation, non-stop learning, and a mention of webchick’s cat. Let’s dive in and find out what Sprint Mentoring is all about.

Daniel Lemon Mon, 10/31/2016 - 13:20

First, let’s discuss what is a sprint day. A sprint in software development terms, is a get-together for focused work on a project. Thus a sprint day is a day long gathering of Drupalists, developers, project managers, and really just anyone interested in pushing Drupal to the next level. That means even you can help out in a sprint, there’s something for everyone. Sprints are an important part of Drupal's growth, and are also a great opportunity to get involved, because others are on hand to help you contribute.

 

 

So let’s sprint, but how do I get started? Have no fear, help is at hand. As a mentor, we’re here to help guide you through finding an issue in the Drupal issue queue that you can work on, to working on and fixing the problem, than to actually posting a patch, reviewing others’ patches, testing, and finally getting your patch approved and pushed to the repository.

I enjoy helping others and I know how to jump into a project, look through the issues, and find bugs to fix. However since I feel that I’m still quite new to Drupal, I decided to help mentor the First-Time Sprinter Workshop. This hands-on workshop covers the basics of contribution essentials like the Drupal issue queue, IRC, as well as setting up development tools like git, and having a local copy of Drupal set-up to run on your laptop.

 

First-Time Sprinters, credits @thpoul - https://twitter.com/thpoul

 

It was a great experience, and I will definitely mentor again, that feeling you get when you’ve helped others learn and achieve something with Drupal is special and somewhat addictive. There were separate rooms for the more advanced coders and themers to work on their modules as well as on Drupal core, these rooms also had mentors available.

 

 

I spoke with a few of the participants for their feedback. Some of them found it difficult to find issues that they could work on because they were either new to Drupal or they did not have a strong development background. There were a few project-managers who wanted to help out, but the sprint issues were mostly aimed at people who code in some way, fortunately one Drupalist was able to gather the project-managers together and go through managing the issue queue from a project managers’ perspective. So, next time I'll look into improving how people from different backgrounds can easily find work related to their own skills. We do use a tagging system but this could possibly be improved.

 

 

So why not come along and join us for the next mentored sprint, and maybe become a mentor too. You'll learn. By serving as a mentor, you'll learn from your mentees. You’ll receive recognition from your peers and you’ll feel more involved in the community; having a mentee come up to me and say "thank you" just made my day.

Categories: Elsewhere

Evolving Web: How to "integrate" Material Design with Drupal

Mon, 31/10/2016 - 06:44

If you are a web designer, chances are you have heard about Material Design.

Material Design is a popular "design language" developed by Google that came out in June 2014. Since then, it has kind of become the visual identity of most of Google's mobile applications for Android. Many mobile app developers are using it and the approval rate among web designers is also rising, mostly because of its simplicity and the influence of mobile apps on responsive design.

read more
Categories: Elsewhere

Klaus Purer: Go easy on this code review, she is a woman after all

Sat, 29/10/2016 - 10:27

What is the appropriate response if a fellow woman pulls you aside and says "Go easy on this code review, she is a woman after all and already gets a lot of shit."? Of course it is "Sure, this will be my friendliest code review ever!".

Categories: Drupal planet
Categories: Elsewhere

DrupalCon News: Thank you for a fantastic DrupalCon!

Sat, 29/10/2016 - 00:46

We hope you enjoyed your DrupalCon experience in Dublin.  We had an incredible week with the community full of sharing, sessions, and sprinting!  Now that the Con is over, you might be on this site looking for one of the following things:

Categories: Elsewhere

Pages