With each veil pierced, exponentially shrinking numbers of increasingly enlightened people are deemed insane by exponentially increasing masses of decreasingly enlightened people.
Innovations from InternetDevels Drupal development company are meant to solve your problems
Let us guess what you are thinking about. Do you have a Drupal website and need some improvements or fixes to be done on it? Does the perspective of having to look for a good Drupal support service give you a headache? Now it’s time for relief!Read more
This post describes by example, a very efficient Drupal implementation methodology that involves first generating the expected data for your system then only using Drupal to manipulate the data. I simplified the implementation of a Drupal based facility booking system by pre-populating the booking entities with all possible booking time slots for the next two years. The only functionality I had to “program” using Drupal was updating the booking status field to booked when a booking was made.
Look for links to our Strategic Roadmap highlighting how this work falls into our priorities set by the Drupal Association Board and Drupal.org Working Groups.Drupal.org Iterative Changes to the Front Page of Drupal.org
The home page of Drupal.org has been changing in several small but important ways. The main focus of our design work in June was to provide new community metrics to replace the less meaningful and somewhat misleading metrics that were removed in the previous home page update.
We also updated the text of the Try Drupal button on Drupal.org, to better clarify the purpose of the feature. Try Drupal allows potential users to evaluate Drupal by using a highly polished demo hosted by our Supporting Partners. This gives Drupal newcomers and learners the chance to see examples of Drupal configured at its best, to encourage evaluators to choose Drupal for their needs. The program supports a core part of the mission of the Drupal Association: helping to promote Drupal and grow Drupal adoption.Improving Drupal.org Performance with Advanced Aggregator
These configuration changes have been made carefully to ensure they don’t degrade the user experience for any user of the site - and are continuing into July.The Plan Category for Drupal.org Issues
Another small deployment made in June was the addition of a Plan category to the Drupal.org issue queues.
The Plan category codifies the informal [meta] issues into a category selectable within the Issues UI.
This only scratches the surface of a long-buried issue in the Drupal.org issue queues - a lack of project management and prioritization tools. The larger Content Strategy work that the Drupal Association is beginning to implement will help to address this need further with a new Initiative content type to provide better hierarchy and prioritization tools.Organization and User Profile Improvements Recent Issue Credits (3 months) now appear on individual and organization profiles.
Expanding upon the work the Association staff has done to create a system for credit and attributions in the Issue queues, the Association has begun displaying information about issue credits on user’s Drupal.org profiles.
Whenever a project maintainer has credited the user in an issue when marking the issue closed - the project will appear on the profile, along with a link to a list of the credited issues.
Additional improvements are planned for the crediting UI to allow credit attribution to users who did not comment directly on the issue. The Association will also begin to backfill historical credit data.
Organizations benefit from this change as well. When a maintainer closes an issue and assigns credit, if any of the users being credited have attributed the work to an organization - that issue credit will be displayed on the organization page. This change rewards those organizations that give their employees time to give back to Drupal.Content Strategy and Visual Design System for Drupal.org
In May, the long-running Content Strategy work culminated the presentation of the Drupal Association’s proposal for a new content model on Drupal.org. In June, after monitoring feedback from the Drupal community and the Working Groups following DrupalCon Los Angeles - we transitioned from planning the new Information Architecture to planning the implementation details to make the new content model a reality on Drupal.org.
Implementation of the new content model and governance plan is going to involve quite a few changes to the modules on Drupal.org, so we want to approach the implementation iteratively and carefully.
Our plan developed in June calls for us to create the new ‘Why Drupal’ section of the site first. In June, we prototyped an implementation of this first section using Organic Groups and Panelizer and prepared a plan for performance profiling.Issue Workflow and Git Improvements
The Association Team is excited to implement our vision for new issue workspaces on Drupal.org - including a new spin on the implementation of pull requests.
Work on the Issue Workspaces is slated to begin once major work on DrupalCI is complete, and we are able to retire the PIFT/PIFR testing system without regressions.
However, we were able to remove a blocker to this work by updating our servers for our Git architecture (more below in sustaining support and maintenance.)Community Initiatives DrupalCI
DrupalCI was a major focus of the Drupal Association staff in June. In June the integration between DrupalCI and Drupal.org was enabled for the first time. DrupalCI is now running in parallel with the PIFT/PIFR testbots to provide us a reference frame to prove out the implementation.
A remaining MVP hit list was codified in June - representing the few remaining issues needed to meet the guidelines set out by the Drupal core developers. (Spoilers: Most of these issues are resolved at the time of this posting in July!).
Going into July the focus will be on providing testing for Contrib through DrupalCI, and then ensuring that there are no regressions in functionality or test result detail as compared to PIFT/PIFR so that the old test bots can be retired.
Once that is achieved, the Assocation’s work on DrupalCI will scale back to maintaining the system’s stability- and more development focus will be provided to our next initiatives.Localize.Drupal.org
At the end of June we initiated a final round of community testing for the port of localize.drupal.org from Drupal 6 to Drupal 7.
That testing period has ended as of the first week of June, and we are now working together with the community to resolve the issues uncovered by this final testing before deployment.Revenue-related projects (funding our work) DrupalCons
Registration for DrupalCon Barcelona opened in June, with some small refinements to the registration process from lessons learned in DrupalCon Los Angeles.
Events.Drupal.org did receive one new front-facing feature, an opportunity in the registration process for ticket purchasers to purchase or renew their Individual or Organization memberships with the Drupal Association.
The Drupal Association is also working very closely with the DrupalCon Asia designer in preparation for the full site launch in the coming months.Better Cart Management on Jobs.drupal.org
On Drupal Jobs we deployed a small update to the checkout workflow to make cart management easier - addressing the top support request that we receive from our users.
Future development for Drupal Jobs continues to be limited to the most high-impact bugs or features identified in the support requests we receive for job postings.Signature Supporting Partners Page Launched
June also saw the launch of the Signature Supporting Partner program. This required a small update to our supporting partners page to support the new partner category.Sustaining Support and Maintenance
Final work preparing for deployment of our new git servers was completed in June - but for scheduling reasons the maintenance window for replacing our existing Git infrastructure was scheduled to take place on 7/9/2015. (This deployment was successful!)
Our Fastly CDN deployment for updates traffic (updates.drupal.org) was also successful. Updates now use dynamic purging to reduce the number of requests served by our origin servers and decreases the latency between packaging a release and serving the update data from a number of minutes to a few seconds.
As part of the updates deployment with Fastly, we now have a *.drupal.org wildcard TLS/SSL certificate for https://updates.drupal.org and https://ftp.drupal.org. This enables HTTPS support on all of Drupal.org and its’ sub-sites for the first time.
As always, we’d like to say thanks to all volunteers who are working with us and to the Drupal Association Supporters, who made it possible for us to work on these projects.
I've talked about a couple of modules to handle repeatable fieldsets before, with a comparison between Field Collections and Inline Entity Form. At Drupal Camp London this year I learnt about a new method: Paragraphs. Below I'll go through the basic setup and implementation of the module comparing it to the previous modules I used.
Bert Boerland: The Orange Suit, E01 something you have. AKA using the Two Factor Authentication module on a Drupal website
Trust, authentication. The key factors of the internet in this age where hacking, privacy and security are the biggest threat to freedom on the Internet. Trust starts with authentication. Authentication starts with identification. For some good background, the decade old ">keynote of Dick Hardt with regards to identity, it is still a classic.
The old adagium is that good authentication can be done by using three factors, something you know, something you have and something you are. For example, a pincode (know), a key (have) and a photo (are).
Two factor authentication combines two of these three for identification, often a password and a one-time-usable code delivered via the phone that you have. Two factor authentication is standard in the offline world, a driver's license (have) with a photo (are) or a bank card (have) with a PIN code (know). And it is about time that we use this Two Factor Authentication (TFA) as the basis for our web presence as well, to log in to your mail, your bank account and to your Drupal website.
This will prevent ugly security incidents or frontpage defacements. People reuse passwords, write them down never change the passwords, have listed passwords or share them and if you have a website where editers and administrators can publically can log in, you will have a security incident waiting to happen.
On drupal.org we use TFA for higher roles. The module being used as d.o is https://www.drupal.org/project/tfa and I do think it should be on every Drupal site.
I always wanted to start a screencast series on Drupal modules for site builders. So it was only logical that the TFA module was the first module I used for this vlog. You can see the screencast called "The Orange Suit" episode 1, "Something you have" and hear why you need this module, how to configure the module and what the module does.
Suggestions for the next episode are welcome as well via one of those channels.
I build and destroy a lot of VMs using Vagrant in the course of the day. Between developing Drupal VM, writing Ansible for DevOps, and testing dozens of Ansible Galaxy roles, I probably run vagrant up and vagrant destroy -f at least a dozen times a day.
Building all these VMs would be a pain, and require much more user intervention, if it weren't for a few things I've done on my local workstation to help with the process. I thought I'd share these tips so you can enjoy a much more streamlined Vagrant workflow as well!
While I blog about my various contributions at work, I thought it might be useful to mention what my current priorities are. My current plan looks like the following:Tags:
When comparing the most commonly-used content management frameworks, web developers typically cite Drupal's robust support for taxonomies as one of its leading strengths. This should come as no surprise to anyone with even minimal experience in using taxonomy vocabularies and their terms in designing and building new websites, largely because they provide a proven way to categorize and make findable the content of any website, with relatively little effort.
Specifically, every piece of content can be tagged with zero or more terms defined within an unlimited number of vocabularies, and these tags can be used in myriad ways for grouping and sorting that content. In the case of a taxonomy term reference used by a view of one or more content types, the sort order and filtering can be specified by the developer using the Views interface or within a custom module, or that functionality can be exposed to the end-user.
The judicious use of taxonomies can be a powerful component of any content strategy that is intended to grow and change. This is true not just for on-page site visitors, but also for people consuming that content in RSS aggregators for whom only some of the content is of interest.
In this examination of some best practices, techniques, and useful contrib modules associated with taxonomies, it is assumed that the reader has a basic understanding of vocabularies and termsSelect Field Versus Taxonomy
When adding to a content type a new field that will contain a value from a predefined list of possibilities, you have the option of utilizing a field of type "List (text)" (or one of the two numeric variants of "List"), and setting the Allowed values list on the field settings page. Or you can employ a taxonomy term reference, which, as the name implies, refers to a term in the taxonomy vocabulary specified when creating the field. Here are some sensible guidelines:
If you want the client to be able to add, change, or remove the allowed values of the field in question, then taxonomy is definitely the right choice. Even if you will likely never alter the list, then a select list should work fine as the field type.
https://fedrtc.org has been running for a while now and this has given many people a chance to get a taste of regular SIP and WebRTC-based SIP. As suggested in Zoltan's blog, it has convenient integration with Fedora SSO and as the source code is available, people are welcome to see how it was built and use it for other projects.Issues with Chrome/Chromium on Linux
If you tried any of FedRTC.org, rtc.debian.org or meet.jit.si using Chrome/Chromium on Linux, you may have found that the call appears to be connected but there is no media. This is a bug and the Chromium developers are on to it. You can work around this by trying an older version of Chromium (it still works with v37 from Debian wheezy) or Firefox/Iceweasel.WebRTC is not everything
WebRTC offers many great possibilities for people to quickly build and deploy RTC services to a large user base, especially when using components like JSCommunicator or the DruCall WebRTC plugin for Drupal.
Native applications and mobile apps like Lumicall continue to offer the most optimized solution for each platform although WebRTC currently offers the most convenient way for people to place a Call me link on their web site or portal.Deploy it yourself
The RTC Quick Start Guide offers step-by-step instructions and a thorough discussion of the architecture for people to start deploying RTC and WebRTC on their own servers using standard packages on many of the most popular Linux distributions, including Debian, Ubuntu, RHEL, CentOS and Fedora.
With only 5 critical issues marked as "needs work", Drupal 8 - the most brilliantly amazing responsive accessible version of Drupal to be released so far - is just around the corner (we're so excited, we forgot to put commas in that list of adjectives). Last week Acquia announced they now have Drupal 8 available on their platform for clients to start building their D8 sites on.
In recent months I've been demoing visual monitoring to many developers. The reaction was always positive, but I've realized that not enough people have taken the step from recognizing the need to actually implementing it on their own projects.
If you have been following my recent blog posts or tweets you've probably noticed we are trying to bring visual monitoring along with Shoov to the masses. To do so we're trying to reduce the complexity and codify our "lessons learned".Drupal.org visually monitored by Shoov
Yeoman generators is one way to achieve this. With the new yo shoov - a single command makes sure all the files needed for visual monitoring are immediately scaffolded in your repository. In fact, it also sets up Behat tests along with a .shoov.yml that will allow Shoov to run your visual monitoring tests periodically.
Since visual monitoring might be new for a lot of people, the generator not only scaffolds the files but also attempts to check if your system is properly installed, and tells you how to fix it if not.Shoov generator in action.
Drupal.org frontpage posts for the Drupal planet: Secure your account: Two Factor authentication on Drupal.org
Drupal.org users* can now use Two factor authentication to increase the security of their accounts. It can be enabled via Security tab of your user profile page. Read the detailed instructions at Enabling TFA on Drupal.org.
This was made available to Drupal.org admins in May. It is now required for users who have advanced access on Drupal.org. However, every user can benefit from the security that two factor authentication offers.
If you want to make two factor authentication available on your own Drupal site, you can install the TFA module.
* Two factor authentication is available for all users with the 'confirmed user' role. If you don't see 'Security' tab on your profile page, you might be missing the role. Just keep posting content on Drupal.org and it will be granted soon. You can also apply to get the role.Front page news: Planet Drupal
This post is part 2 in a series of Docker posts hashing out a new docker workflow for our team. To gain background of what I want to accomplish with docker, checkout my previous post hashing out a docker workflow.
Developers are known for their most famous topics to be testing and doumentation - not. And I'm no different. However, the bigger my projects tend to get and the longer they last, the more this becomes a real issue so that even the developer in me starts to promote the idea of proper testing and documentation. And to cut a long story short: BDD (behaviour driven development) can deliver a significant part in both of these areas.
I made a small module which is just meant to store user preferences. There's the normal-ish approach of using a field on either the User entity or the Profile entity but in all honesty this can get messy when you add one ...then another one. Oh god the client wants more user options. Soo you get it.
Drupal 6 veterans, remember the fun times of $user->data, the mad grab wild west of "here's an array, do what you will" which also exists in D7.
User preferences was created to solve this problem, taking a proper approach at storing user preferences which don't require you to regret slapping another field on an entity or crying in the shower scrubbing yourself after using $user->data.
There's work to do around the schema and looking at how to best store different types of values in the Database (currently just string), but this module is a first good step. Some tests need writing too, patches welcome!
Anyway, that's it for now. Stable release coming soon after some testing.
Drupal @ Penn State: One liner to install php 7, mysql 5.6, apache 2.4, drush and drupal on centos 7
It was a nice little saturday in happy valley. Since my son is forcing us to watch the Sponge Bob Square Pants movie over and over, I decided to multi-task. Bryan Ollendyke has been talking about PHP 7 a tad bit lately so I decided to whip up an instance.
Granted this is not ready for prime-time just yet, however, it is extremely fast and everything that I have tested so far works fine. Turn on authcache and it is REALLY fast!
Today I am going to show you how to autopilot monitoring and diagnose of
- Slow queries
- Long query wait times due to database locks
- Database deadlocks
All of theseMore articles...
- How to use NetPhp
- When PHP crashes: how to collect meaningful information and what to do with it
- Only update changed fields or properties for an entity in Drupal
- Installing Drupal on Windows and SQL Server
- Distinct options in a views exposed filter: The Views Selective Filters Module
- Using LINQ (Language Integrated Queries) in Drupal or how to write queries x5 faster
- Deploying changing module dependencies with Drupal
- Getting #2,000 requests per second without varnish
- Benchmarking Drupal 8 on PHP 7-dev
- Drupal Session Handler: everything you need to know
In this tutorial (for NYC CAMP 2015) we'll explore how to use Drupal 7 and DrupalGap 2 (powered by Angular JS) to build a decoupled ("headless") web application for Drupal. In a nutshell, here is what the app will do:
- A user runs the app in their browser
- The browser asks the user for access to their current location
- The app passes their location to Drupal
- Drupal will return nearby content (if any) to the app
- The app will display the locations on a map and let the user click on them to see more details
Ready? Let's rock and roll, no time to fiddle...