Art is whatever the strongest person says it is. Those who disagree will be punched out.
Electronic Arts is getting into the set-top streaming business this week by partnering with Comcast to deliver games to Comcast subscribers' X1 cable boxes. ...
In particular, people want to pull information and display it through Views.
The Views Database Connector module makes this relatively easy. Let's show you how it's done.
Heads up, Flash devs: Mozilla has updated its popular Firefox browser to temporarily block all versions of Flash by default due to multiple significant security flaws that Flash maker Adobe has publicly acknowledged and vowed to fix. ...
About a year ago, Chris pointed the dev team toward a cool new module called Paragraphs. Since then, we've played with it on test sites, rolled it for use on sites for clients (including some big ones!), and tried combinations of bundles and fields that push the limits.
Here are some of the cool things we've done with Paragraphs:Made a feature
Part of our slick workflow of near-instant enterprise-grade local dev sites/repos using compro_install_profile and compro_utils is making Features for the functionality we use on multiple client sites. This allows us to develop sites quickly, and gives us standardization.
Installing compro_paragraphs makes sure:
- Paragraphs, Media, and a few other modules are ready to go
- Bundles for long text, blockquotes, headings, and image/video get created
- Templates and styles abide by reasonable defaults
The feature depends on compro_content, which makes available input formats, WYSIWYG settings, image formats, etc.Integrated it with fanciness
New features, like compro_highlight, include paragraph bundles (albeit without a strict dependency). This gives developers an easy implementation, regardless of whether the site they're working on uses paragraphs.
One thing that's cool about compro_highlight is that the single entity (a hero or call to action) and collection of entities (slideshow, gallery, etc.) are of the same type, so a bundle with an entityreference field (and inline_entity_form) can handle a ton of different configurations; especially when used in conjunction with entity view modes!
If a site needs regular content, along with the ability to insert slideshows and calls to action throughout the body, additional features like compro_highlight and its built-in paragraphs support are a great answer.Extended the formatter
All the tweaks below are part of paragraphs_formatters module.
Let's say you wanted the teasers in the blog listing to only show text. Or maybe you want blockquotes to appear as "pull quotes" in the sidebar.
Our extended formatter lets you pick which bundles to show, how many, and can start from a delta other than zero. It makes a view-mode-centric dev workflow just that much easier!Tweaked the widget
One of the reasons Jeff Eaton gave for why Paragraphs isn't his choice for the body field is that the UI is a bit more cumbersome. The field widget we've got isn't a knock-out-of-the-park, but it shows that there's plenty of room to make paragraphs-based content entry more intuitive.
It's mostly CSS, aside from changing the weight of some buttons!Made them reusable
By default, the title of all paragraphs is "Paragraphs item". We made a little callback that give more information about the paragraph, making it possible to use paragraphs in entityreference fields.
If you wanted to write something once but display it in a bunch of places, this little label callback could be key! You could even do it in a paragraphs bundle.
Oh! And if you find yourself writing tons of label callbacks, give label_maker a shot.Other stuff!
We've done many variations of paragraph bundles:
- Block reference bundles
- Classing link fields for button/CTA bundles
- Classing text bundles to display all fancy
There's a lot more cool stuff to do:
- Start playing with Drupal 8 and paragraphs
- Refine the field widget
- Dream up more formatters
- Enhance token and views support
- Hotkeys for widget UI?
- Ability to insert interstitials?
We're looking forward to seeing what the Drupal community does with paragraphs, and are excited to contribute in any way we can.
GDC Europe 2015 is coming up fast, so conference officials are highlighting two can't-miss Business talks that delve into how you can hire and retain more women -- and use video ads to monetize your best F2P games. ...
Used in conjunction with Hosting Autorestore it simply displays a message about the time remaining before the next site restore.Features
- display info message except if the website is about to be reset (error)
Role-playing any aspect of war is always a bit tricky, but good opportunities are provided by spies and saboteurs, who operate independently in small groups - just like the average party of characters - and generally get into enough danger and excitement to keep any player happy! Some may find World War 2 just a little bit recent, you may have parents or grandparents who were caught up in it, but if that's not an issue for you and your group the exploits of the Special Operations Executive (SOE) and the Office of Strategic Services (OSS) behind enemy lines in Europe ought to keep you busy.
The Introduction provides some background about the formation of the British SOE and the American OSS, and leads into the first chapter, The War Against Fascist Tyranny, which summarises the events leading up to the war between Nazi Germany and the Allies and then major events of the war in Europe and Africa with the aim of providing a backdrop against which your campaign can be played out. This account runs right through to the final German surrender in 1945, so you can pick your date knowing what happened before it... and what ought to happen next, provided the party's actions don't change anything major, that is. Always the problem when you mess with real history!
Next is The Nations of Europe, which explains the position of each nation - belligerent, conquered, or neutral - as they were in mid-1941, which is when the SOE began clandestine operations. (America did not join the war until the end of 1941, but was already laying groundwork and forming the OSS in anticipation of becoming involved.) There are notes on both offical government positions and those who sympathised with either the Allies or the Nazis, many of whom formed 'resistance' movements. Espionage was, of course, rife with 'neutral' countries such as Portugal being prime targets for both sides.
Then on to the meat of the matter with the chapter SOE and OSS: The Clandestine War. Interestingly both men and women were recruited and participated in missions behind enemy lines, thus leaving it open to players to choose male or female characters without restrictions. This chapter covers training and the dangers that they faced in the field - and how to avoid them. Details of the various organisations arrayed against them are also given - this part in particular lurches a rather ungainly path between what the average SOE/OSS operator would know and bits which are GM-only information.
Background established, we then move on to the all-important Creating a Special Ops Hero. The game uses a custom game mechanic, the One-10 System, in which a single d10 is required for play. Each character has Attributes (Intelligence, Perception, Charisma, Strength, Agility and Stamina) on a 1-5 scale, derived by an elegant mixture of point-buy and die-roll. There are various derived Attributes as well, which you can work out once you have the main ones sorted. Characters are assumed to start at age 21, by which time they will already have got some training and/or experience under their belts. If they want to be older, they will have more skill points to play with. There are no 'character classes' in this system, a character is defined by his skills, from which there is an extensive list to choose using a point-buy system. There's also an option to have a 'tradecraft' package of skills reflecting what is learned in SOE/OSS training. Character background becomes important too, letting you understand which countries the characters is familiar with and which languages he speaks. Modifications can be gained from a system of Qualities and Quirks that is well-designed. Throughout, there are little comments from the author about why he chose to set up the mechanics in particular ways, quite illuminating and evidence of the clear and coherent thought that went into the system. In deciding what your character is like, remember that a fit young male really ought to be in the military, wandering around behind enemy lines posing as a civilian may raise questions from the outset. As an aside, I knew an SOE agent who looked and acted as if he was really stupid - he actually was a very smart man - a wonderful cover for clandestine operations!
Now that you have a character, how is he played? The next chapter, Using Skills and Attributes, explains just that. To resolve any action, you roll 1d10 and add to it applicable Skill Ratings (the skill you are using plus the controlling Attribute and any other modifiers) against a Task Difficulty Level appropriate to what you are attempting - if you exceed it, you have succeeded. Sometimes it is appropriate to use the Attribute alone, if no skill is relevant (or you don't happen to have the right skill but are giving it a go anyway). There are plenty of examples and explanations to make it all clear; along with explanations of the various skills available. A separate chapter covers Combat, Injury and Healing, which often loom large in a game. Combat is played out in rounds, with each participant going in initiative order - initiative is an inherent quality of each character, rather than something you roll when a brawl breaks out. Damage depends on the weapon used, each has a base damage value, but you add however many points your attack total exceeded the Task Difficulty Level (a standard 7) to that, so a spectacularly skillful roll does more damage. Neat. Vehicle chases are also covered here.
This is followed by a chapter on Equipping Your Hero, which most concentrates on weapons and other items useful for conducting clandestine operations... including, of course, that used by Axis forces that might be acquired during the course of a mission. Next is a collection of NPCs in the Common Foes and Allies chapter, all ready for use, and six fully-detailed pre-generated characters for those who want to jump straight in to the last part of the book, an adventure entitled The Spanish General.
This work combines an elegant game mechanic with a coherent and well-presented setting for which you should be able to find inspiration from both history and popular fiction in books and on the screen.
This is the companion Drupal module for the Angular JS module, angular-drupal.
I have so many amazing adventures as I travel around delivering Drupal Training to Universities, Corporations, Governments, etc. I've always wanted to blog about how it is such a learning opportunity for me. It is an enriching experience to sit in front of a new class and start down the road of transferring knowledge. I hope you enjoy this 1st pass at some of my experiences!
Train the trainer!
That's the first thing I’ve GOT to say. The students in my class, no matter how "NEW" they are to Drupal, have invariably encountered something that I have not. Whether it’s a module that filled some very specific need, OR some piece of news in the Drupal ecosystem, or some awesome feature that their vendor built into their site. It never fails! I even learn from their questions. They ask how to do such-n-such or how to make this thing change based on that thing. Together, as a class, we approach questions like that and we architect a solution. I learn something new every day I spend with them!
What’s fun is…. I take the new discoveries from the last engagement and incorporate them into my next Drupal training! That evolution of content and presentation really snowballs the learning-value as time passes!
Show me where it hurts!
We all know that Drupal [as does any solution] has its pain points, counterintuitive elements which work against you rather than with you. Sure… We've addressed many of these over time. Often I'm able to point out a module that solves, or somewhat helps, a UI issue. But there are times when a user will make a mistake and not select what should have been selected or select the wrong option. This is discovered minutes later when their sandbox site is not doing what mine, or their neighbor’s site is doing. In this, I discover yet another GOTCHA in Drupal. As seasoned veterans, many of us wax over the lengthy UI pages of adding fields to content types and configuring Views. But each class I teach reminds me that these powerful configuration pages are a land mine where lesser experienced individuals could potentially cause a detonation!
No one gets hurt in my Drupal training BUT we are very honest about some of the challenges of navigating these very powerful configuration pages. Each time I learn a new GOTCHA, I preeminently strike against it in the next class! :-)
You want WHAT?!?!?
OMG! I’ll try to make this brief. Whether it’s 1day or a full week of Drupal training, we wind up spending some amount of time in what I like to call, “Stump the Chump!” The intent is not to trick me, but our QnA sessions very often turn into a “How would you build super-dee-duper complex functionality X & Y & Z?” When this happens, it’s rarely some fanciful what-if scenario. No. It is a sincere question that addresses a real need. Once again we take some class time to architect this solution using what we have learned AND borrowing from my many past experiences. Oh yah… And Google is REAL helpful at these times as well! :-)
The age of discovery!
Many of us know that the “Discovery Phase” is possibly THE MOST important phase of the project. I find organization after organization that wound up getting something from a vendor which they didn’t expect because they never actually told the vendor what they wanted. So many questions were unasked and unanswered that the final delivered product only barely meets the client’s needs. In better circumstances, I see a site that meets way more expectations in functionality BUT the usability is atrocious. What do I learn here? I learn how to ask better questions on my own development projects. In reality only a Vulcan-Mind-Melt would allow the developer to truly know what the client is thinking, BUT short of a sci-fi solution, there is a real solution. We can ask better questions and guard against the client’s assumptions. I train organizations who have worked with some of the best shops in the Drupal industry. It becomes very clear to me that some clients make it very difficult for the shop to do proper discovery. So I do what I can to encourage all of my clients to participate wholeheartedly in that process as it is the best insurance against unsatisfied expectations down the road. I listen to their past experiences and find out why things didn't go well. It’s rather eye-opening what is going on out there!
When delivering Drupal Training, we invariably wander into staging and deployment. Sometimes it is on the list of topics, other times it just forces its way in. What have I learned from this? I have learned that far too many organizations are shooting themselves in the foot by trying to get their IT department to make this work for them. Time and time again, I see Higher-Ed, Governments, and Private Industry hitting their collective heads against the wall trying to work against internal processes and expecting non-web ppl to suddenly be a valuable partner in the publication of important data on the site. This says to me that the need for effective tools to get the job done is greater than anyone truly appreciates. Services like Acquia Cloud & Pantheon & Platform.sh are not just cool toys or fancy tools, but thet are actually essential tools that more ppl need to be using. Seriously... I have seen A LOT of time, energy, and money wasted on trying to get a site launched or updated or major changes instituted. I am truly saddened to watch this happen over and over again. What am I learning here? I'm seeing that DevOps is an afterthought. I'm seeing that there's disconnect between the Marketing/Web ppl and the IT ppl. I'm seeing a reluctance to move these operations off to a third party. I can tell you... When I demonstrate Pantheon to the class I am often told, "We NEED this, but the CTO would NEVER allow it!' So sad...
Alright… There you go! Five things I have learned while delivering Drupal Training. I may have to publish more in the near future!
How about you!?!?!?!?!?
I know I have many friends out there who spend a lot of time spreading the power and knowledge of Drupal.
What are you experiencing? When was the last time you had to say, “Wow! That’s a new one on me!” to a room full of people who collectively have spent less than 1/2 of the time you have in Drupal-Land! :-)
Comment below and share your stories!Drupal Planet
Object-oriented programming (OOP) is way of organizing your code to be more efficient, and it takes advantage of some really nice features in modern versions of PHP. One of the basic concepts of OOP is, not surprisingly, an object. Directly related to working with objects is understanding PHP classes. Drupal 8 is taking big steps to move to an OOP architecture, and so you will get very familiar with both of these as you start to jump into Drupal 8 development.
This tutorial, based on the video Create a Basic PHP Class, will explain what a class is, show you how to set up a class, and look at a PHP object. By the end of this tutorial, you will be able to create a class, an object, add a property to your object, and set the value of the property inside the class.
Drupal has modules for just about everything, including improving site performance. You can use these modules to see what's going on with a site and figure out the changes needed to increase Drupal's speed. As part of an ongoing series about ways to improve Drupal website performance, let’s take a closer look at the modules that can make your life a lot easier.Find the Bottlenecks: Devel
Before trying to improve a Drupal site's performance, it's important to know where the bottlenecks are in order to avoid making random changes. The Devel module provides sharp insight by showing information such as how many queries ran to build a page, how long execution took, and how much memory was used. This information is especially helpful for assessing the impact of changes such as installing and disabling modules. Even if you don't understand all the detailed information the Devel module provides, seeing trends in the numbers will, over time, be useful.Improve Caching: Entity Cache, Views Content Cache, Panels Hash Cache, and Panels Content Cache
Changing Drupal caching behavior can have a big impact on performance. When applications have a large amount of entity data (information on things like users and content), using Entity Cache can lead to large performance gains with almost no configuration. It's less useful if there's only a small amount of entity data.
To control other cache settings, Block Cache Alter lets settings for each block be configured individually. This allows for more fine-grained control than the settings on the Performance page.
Another change that can improve performance is using a cache based on content-driven expiration, rather than discarding cached data after a specified amount of time passes. The Views Content Cache, Panels Hash Cache, and Panels Content Cache modules provide this functionality.Improve Database Usage: Views Litepager and Memcached
For sites that use the recommended InnoDB MySQL storage engine, Views Litepager speeds up the creation of pages for views. Rather than creating links to every single page, it provides just “next” and “previous” links. It's incredibly simple and beneficial. The drawback is that site visitors can move only one page at a time through a long list.
Another great addition is Memcache, which lets you integrate Drupal with Memcached, a free and open source, high-performance, distributed memory object caching system that is available on Acquia Cloud. The combination lets Drupal use the database only for large, heavy content, and caches other information elsewhere. To get the best performance from Drupal, it's really important to move as much work – caching and logging – off the database so it can focus on providing the content.Standard Tools for Performance
There's so much benefit from some of these modules that they're practically standard at many companies, including here at Acquia. Almost everyone uses Devel. Acquia uses Memcache in its cloud platform.
But every organization is different, so find the tools and configuration settings that work for your needs and make them standard across all your development projects. That'll free up time for developing instead of tuning performance.Tags: acquia drupal planet
This module allows you to periodically restore a backup of your site. This is useful if you have a demo website and you want that people play with it, add / update / remove content and from time to time, the website is totally cleaned up and reverted to its initial state.
Both Aimee & Kristen will be presenting sessions - one for Drupal 7 & one for Drupal 8:
- Drupal 7: Kristen will be presenting her Multilingual Module Madness: Which i18n Modules Do You Really Need session. Kristen will discuss the most important modules for Drupal 7 multilingual sites.
Drupal 8: Aimee will be presenting a Drupal 8 Multilingual Overview. This session is an updated version of the original by Gábor Hojtsy and has been presented at various camps and cons around the world. If you want to hear about all of the exciting multilingual improvements coming in Drupal 8 you won't want to miss this session. And, if you want even more D8 multilingual, check out Rob Bailey's talk Translate in Drupal 8: A New Era in Translation Has Begun.
In addition to our sessions, we will be hosting TWO hands-on trainings:
- Drupal 7: On Friday, July 17th from 9AM to 1PM, we will be running a shorter version of our D7 hands-on multilingual training. This is similar to the one we ran at BADCamp in 2014. Also, if you want even more Drupal 7 multilingual training, check out Lingotek's all day training on Thursday, July 16th as well.
- Drupal 8: We will also do our Hands-On Multilingual Training for Drupal 8 on Friday, July 17th from 2PM to 5PM. If you join us after the Drupal 7 training, you will really see a world of difference between creating multilingual sites and D7 and D8.
At the end of the week, on Sunday July 19th, we are hosting a Drupal 8 Multilingual Initiative (D8MI) Sprint. Sign up here if you want to come sprint with us!
We can’t wait to see you all there!
Hook 42 Topics: