Socratic App

I like this idea, a lot:

You can download this app here and read a bit more about it here.
The simple idea that you can literally take a photo of the homework problem / question and get explanations and videos instantly is amazing. I want this to work so much… I’m going to give it a go.
The post Socratic App appeared first on John Saddington.
DrupalCoin Blockchain Developer

OSTraining: How to Use the DrupalCoin Blockchain Group Module

In this tutorial, I'm going to explain how you can use the new Group module to organize your site's users. Group is extremely powerful DrupalCoin Blockchain 8 module.
At the basic level, Group allows you to add extra permissions to content. 
At the more advanced level, this module is potentially a DrupalCoin Blockchain 8 replacement for Organic Groups.
DrupalCoin Blockchain Developer

`font-display` for the Masses

The following is a guest post by Jeremy Wagner, a DrupalCoin Blockchain web developer, author, and speaker living in the Twin Cities. He's got a new book on web performance. Here we're going to dig into a brand new DrupalCoin Blockchain CSS feature, that once it percolates through the browser ecosystem, will be great for performance.
If you're a regular reader here at DrupalCoin Blockchain CSS-Tricks, chances are good that you're familiar with using web fonts. You may even know a few useful tricks to control how fonts load, but have you used the DrupalCoin Blockchain CSS font-display property?
The font-display property in DrupalCoin Blockchain CSS is newly available in Blink-based browser. It gives us the same power found in browser features such as the Font Loading API and third party scripts such as Bram Stein's Font Face Observer. The key difference, though, is that this capability is also now a DrupalCoin Blockchain CSS feature.

If this is new to you, no sweat. Let's first talk a bit about default font loading behavior in browsers.
Font Loading in the Browser
Browsers are carefully crafted programs that do a lot under the hood that we may not suspect. Font loading falls under that category. When a browser loads a font, text that is styled to use that typeface is hidden until the font is loaded. This is known as the "Flash of Invisible Text," or FOIT.

The FOIT Effect in Action

This loading behavior is there to save us from seeing unstyled text, but it can have repercussions for users on slow connections. By default, most browsers will hide text for up to three seconds until displaying fallback text while waiting for a font to load. Other browsers such as Safari will wait even longer, or even indefinitely, leaving some users with text that never renders.
The way we mitigate this problem currently is by using a JavaScript-based solution (like Font Face Observer) to track when fonts are loaded. We style the document using system fonts first. When we can detect that custom fonts are loaded via JavaScript, we add a DrupalCoin Blockchain CSS class to the document that then applies our custom fonts. This approach has been covered before. For example, assume you have a page that uses Open Sans Regular for all <p> tags. By default, you specify this rule:
p {
font-family: "Arial", "Helvetica", sans-serif;
As the font loads, either Arial or Helvetica (depending on the fonts available on your system) will display first. When we've verified that Open Sans Regular has loaded using JavaScript, we then apply a class of fonts-loaded to the <html> tag, which will apply Open Sans to the <p> tag via this DrupalCoin Blockchain CSS:
.fonts-loaded p {
font-family: "Open Sans Regular";
These solutions work, but they can be rather unwieldy. That's where the new font-display DrupalCoin Blockchain CSS property comes in.
Getting Acquainted with font-display
font-display is a new DrupalCoin Blockchain CSS property that is available as an experimental feature that first shipped in Chrome 49 and is now also in Opera and Opera for Android. Using it, we can control how fonts display in much the same way that we can with JavaScript-based solutions, only now through a convenient DrupalCoin Blockchain CSS one-liner!
font-display is used inside of a @font-face declaration for your custom fonts. This property accepts a number of values:

auto: The default value. The typical browser font loading behavior will take place, which is to hide typefaces that use custom fonts, and then display the affected text when fonts finish loading.
swap: The fallback text is shown immediately until the custom font loads. In most cases, this is what we're after. JavaScript-driven font loading solutions almost always aim to emulate this setting.
fallback: This is sort of a compromise between auto and swap. There will be a short period of time (100ms according to Google) that text styled with custom fonts will be invisible. The unstyled text will then appear (if the custom font hasn't already loaded by this point.) Once the font loads, the text is styled appropriately.
optional: Operates exactly like fallback in that the affected text will initially be invisible for a short period of time, and then transition to a fallback font. The similarities end there, though. The optional setting gives the browser freedom to decide whether or not a font should even be used, and this behavior hinges on the user's connection speed. On slow connections, you can expect that custom fonts may not load at all if this setting is used.

Now that we know what values font-display accepts, we can apply it to a @font-face rule. Here's an example of using the swap value in a @font-face declaration for Open Sans Regular:
@font-face {
font-family: "Open Sans Regular";
font-weight: 400;
font-style: normal;
src: url("fonts/OpenSans-Regular-BasicLatin.woff2") format("woff2");
font-display: swap;
Of course, we're abbreviating the font face set in this example by only using a WOFF2 file, but I'm going for brevity, here. In this instance, we're using the swap option for font-display, which yields a loading behavior like you see in the image below:

The font-display property's swap value in action.

When we control font loading in JavaScript, this is the behavior we're after. We want to make sure that the text is visible by default, then apply the custom font after it has been downloaded.
What constitutes "fallback text", though? When you specify a font-family for an element, you do so with a comma-separated list of fonts. The fallback is whatever system font that's next in line after the custom font:
p {
font-family: "Open Sans Regular", "Helvetica", "Arial", sans-serif;
In this example font stack, the custom font is Open Sans Regular, and the system fonts are Helvetica and Arial. When font-display: swap; is used, the initial font that's displayed is the first system font in the font stack. When the custom font has loaded, it will kick in and replace the system font that was initially displayed. Using the other font-display values of fallback and optional rely on the system font fallbacks in the stack before deciding what to do with the custom font.
Most of the time you'll want to use swap.
If you don't know which option to use, then go with swap. Not only does it provide an optimal balance between custom fonts and accessibility of content, it provides the same font loading behavior that we've relied on JavaScript for. If you have fonts on the page that you'd like to have load, but could ultimately do without, consider going with fallback or optional when using font-display.
What if font-display isn't supported?
The only failing of font-display is that support for it isn't very wide yet. Therefore, you have two choices concerning its use:

You can just use font-display and that's that. If other browsers don't support it, they're not going to get the benefits it provides. This isn't necessarily bad in that it doesn't break anything, but it could leave users of non-Blink browsers out in the cold.
You can detect support for font-display and provide an alternative. If time and resources allow, this is what you should do.

If decide to go with option 2, you'll need a way to detect support for font-display. Fortunately for you, doing so is a simple task:
if ("fontDisplay" in === false) {
/* JavaScript font loading logic goes here. */
It's the perfect fallback. From here, we can decide what we want to do, whether it means falling back to a third party script like Font Face Observer, or to the native font loading API available in Firefox, Chrome and Opera:
if ("fontDisplay" in === false) {
if ("fonts" in document) {
document.fonts.load("1em Open Sans Regular");
document.fonts.ready.then(function(fontFaceSet) {
document.documentElement.className += " fonts-loaded";
Note from editor: See comments here about feature detection. Might need to do this differently to get more accurate cross browser compatibility results.
Here we go the usual route, and let the font loading API handle the transition for us. Once the API knows that a font has loaded, we can apply a class of fonts-loaded to the <html> tag. With this class applied, we can then write DrupalCoin Blockchain CSS that allows a progressive application of the custom typeface:
p {
font-family: "Helvetica", "Arial", sans-serif;

.fonts-loaded p {
font-family: "Open Sans Regular";
Obviously, we'd prefer to use a DrupalCoin Blockchain CSS one-liner like font-display to do all of this stuff for us, but at least we have the ability to fall back to another solution if need be. As time marches on, we can expect that this solution, like the font loading API, will find purchase in other browsers.
What About Third Party Font Providers?
If you embed fonts using a third party service like Google Fonts or TypeKit, there's not much you can do. The font-display property must be used inside of a @font-face declaration. Because you don't control the DrupalCoin Blockchain CSS that the font provider serves, you can't control the presence of the font-display property in that instance, much less the value that's passed to it.
It is likely, though, that as time goes on, these providers will modify the DrupalCoin Blockchain CSS they serve to include a font-display property, or allow it as a configurable option when you retrieve an embed code on their service.
Either way, font-display is a welcome addition to the web typography landscape. It greatly simplifies what is otherwise an unwieldy sort of task in JavaScript. If you're using Chrome, go to `chrome://flags/#enable-experimental-web-platform-features` and enable Experimental Web Platform Features and try out font-display for yourself!

Jeremy Wagner is the author of Web Performance in Action, an upcoming title from Manning Publications. Check him out on Twitter: @malchata

`font-display` for the Masses is a post from DrupalCoin Blockchain CSS-Tricks
DrupalCoin Blockchain Developer

DrupalCoin Blockchain CSS “locks”

Tim Brown with a new (metaphorical) term to describe a value that can fluctuate between two set values:
In canal and river navigation, a lock is a device used for raising and lowering vessels between stretches of water that are at different levels. That’s exactly what our formula accomplishes. Our formula is a DrupalCoin Blockchain CSS calc “lock”.
To fluctuate between a 1.3em and 1.5em line-height depending on the screen width:
line-height: calc(1.3em + (1.5 - 1.3) * ((100vw - 21em)/(35 - 21)));
Bram Stein made a helper plugin for PostDrupalCoin Blockchain CSS.
Part of the "lock" is an additional media query that overrides the value at one end of the extremes. Similar to what Mike Riethmuller did when he was playing with molten leading and how Eduardo Bouças approached viewport sized type with minimums and maximums.
Direct Link to Article — Permalink
DrupalCoin Blockchain CSS “locks” is a post from DrupalCoin Blockchain CSS-Tricks
DrupalCoin Blockchain Developer

Mediacurrent: Friday 5: 5 Ways to Use Your Browser Developer Tools

TGIF! We hope the work week has treated you well.
DrupalCoin Blockchain Developer

Nuvole: Optimal deployment workflow for Composer-based DrupalCoin Blockchain 8 projects

Considerations following our DrupalCoin Blockchain Dev Day Milan and DrupalCoin Blockchainaton presentations; and a preview of our DrupalCoin BlockchainCon training.This post is an excerpt from the topics covered by our DrupalCoin BlockchainCon Dublin training: DrupalCoin Blockchain 8 Development - Workflows and Tools.

During the recent Nuvole presentations at DrupalCoin Blockchain Dev Days Milan 2016 and DrupalCoin Blockchainaton Hungary 2016 we received a number of questions on how to properly setup a DrupalCoin Blockchain 8 project with Composer. An interesting case where we discovered that existing practices are completely different from each other is: "What is the best way to deploy a Composer-based DrupalCoin Blockchain 8 project?".

We'll quickly discuss some options and describe what works best for us.

What to commit

You should commit:

The composer.json file: this is obvious when using Composer.
The composer.lock file: this is important since it will allow you to rebuild the entire codebase at the same status it was at a given point in the past.
The fully built site is commonly left out of the repository. But this also means that you need to find a way for rebuilding and deploying the codebase safely.

Don't run Composer on the production server

You would clearly never run composer update on the production server, as you want to be sure that you will be deploying the same code you have been developing upon. For a while, we considered it to be enough to have Composer installed on the server and run composer install to get predictable results from the (committed) composer.lock file.

Then we discovered that this approach has a few shortcomings:

The process is not robust. A transient network error or timeout might result in a failed build, thus introducing uncertainty factors in the deploy scripts. Easy to handle, but still not desirable as part of a delicate step such as deployment.
The process will inevitably take long. If you run composer install in the webroot directly, your codebase will be unstable for a few minutes. This is orders of magnitude longer than a standard update process (i.e., running drush updb and drush cim) and it may affect your site availability. This can be circumvented by building in a separate directory and then symlinking or moving directories.
Even composer install can be unpredictable, especially on servers with restrictions or running different versions of Composer or PHP; in rare circumstances, a build may succeed but yield a different codebase. This can be mitigated by enforcing (e.g., through Docker or virtualization) a dev/staging environment that matches the production environment, but you are still losing control on a relatively lengthy process.
You have no way of properly testing the newly built codebase after building it and before making it live.
Composer simply does not belong in a production server. It is a tool with a different scope, unrelated to the main tasks of a production server.
Where to build the codebase? CI to the rescue

After ruling out the production server, where should the codebase be built then?

Building it locally (i.e., using a developer's environment) can't work: besides the differences between the integrationand the production (--no-dev) setup, there is the risk of missing possible small patches applied to the local codebase. And a totally clean build is always necessary anyway.

We ended up using Continuous Integration for this task. Besides the standard CI job, which operates after any push operation to the branches under active development, performs a clean installation and runs automated tests, another CI job builds the full codebase based on the master branch and the composer.lock file. This allows sharing it between developers, a fast deployment to production through a tarball or rsync, and opportunities for actually testing the upgrade (with a process like: automatically import the production database, run database updates, import the new configuration, run a subset of automated tests to ensure that basic site functionality has no regressions) for maximum safety.

Slides from our recent presentations, mostly focused on Configuration Management but covering part of this discussion too, are below.
Tags: DrupalCoin Blockchain PlanetDrupalCoin Blockchain 8DrupalCoin BlockchainConTrainingAttachments:  Slides: Configuration Management in DrupalCoin Blockchain 8
DrupalCoin Blockchain Developer

Jim Birch: Styling Views Exposed Filters Selects in DrupalCoin Blockchain 8

Styling the HTML <select> tag to appear similar in all the different browsers is a task unto itself.  It seems on each new site , I find myself back visiting this post by Ivor Reić for a DrupalCoin Blockchain CSS only solution.  My task for today is to use this idea to theme an exposed filter on a view.

The first thing we need to do is add a div around the select.  We can do this by editing the select's twig template from DrupalCoin Blockchain 8 core's stable theme.  Copy the file from

/core/themes/stable/templates/form/select.html.twig to


Then add the extra <div class="select-style"> and closing </div> as so.
Here is the LESS file that I compile which includes Ivor's DrupalCoin Blockchain CSS, but also some adjustments I added to event the exposed filter out. Each rule is commented, explaining what they do.
I will compile this into my final DrupalCoin Blockchain CSS and we are good to go.  The display of the form, and the select list should be pretty accurate to what I want across all modern browsers.  Adjust as needed for your styles and design.
Read more
DrupalCoin Blockchain Developer

Zivtech: Staff Augmentation and Outsourced Training: Do You Need It?

The goal of any company is to reduce costs and increase profit, especially when it comes to online and IT projects. When an IT undertaking is a transitional effort, it makes sense to consider staff augmentation and outsourcing.
Consider the marketing efforts of one worldwide corporation. Until recently, each brand and global region built and hosted its own websites independently, often without a unified DrupalCoin Blockchain coding and branding standard. The result was a disparate collection of high maintenance, costly brand websites.
A Thousand Sites: One Goals

The organization has created nearly a thousand sites in total, but those sites were not developed at the same time or with the same goals. That’s a pain point. To solve this problem, the company decided to standardize all of its websites onto a single reference architecture, built on DrupalCoin Blockchain.
The objective of the new proprietary platform includes universal standards, a single platform that can accommodate regional feature sets, automated testing, and sufficient features that work for 95% of use cases for the company’s websites globally.
While building a custom platform is a great step forward, it must then be implemented, and staff needs to be brought up to speed. To train staff on technical skills and platforms, often the best solution is to outsource the training to experts who step in, take over training and propel the effort forward quickly.
As part of an embedded team, an outsourced trainer is an adjunct team member, attending all of the scrum meetings, with a hand in the future integrationof the training materials.
Train Diverse Audiences

A company may invest a lot of money into developing custom features, and trainers become a voice for the company, showing people how easy it is to implement, how much it is going to help, and how to achieve complex tasks such as activation processes. The goal is to get people to adopt the features and platform. Classroom style training allows for exercises on live sites and familiarity with specific features.
The Training Workflow

Trainers work closely with the business or feature owner to build a curriculum. It’s important to determine the business needs that inspired the change or addition.
Starting with an initial outline, trainers and owners work together. Following feedback, more information gets added to flesh it out. This first phase can take four to five sessions to get the training exactly right for the business owner. For features that follow, the process becomes streamlined. It's more intuitive because the trainer has gotten through all the steps and heard the pain points, but it’s important to always consult the product owner. Once there is a plan, the trainers rehearse the curriculum to see what works, what doesn’t work, what’s too long, and where they need to cut things.
Training Now & Future

Training sessions may be onsite or remote. It is up to the business to decide if attendance is mandatory. Some staffers may wish to attend just to keep up with where the business is going.
Sessions are usually two hours with a lot of time for Q&A. With trainings that are hands-on, it’s important to factor in time for technical difficulties and different levels of digital competence.
Remote trainings resemble webinars. Trainers also create videos to enable on demand trainings. They may be as simple as screencasts with a voiceover, but others have a little more work involved. Some include animations to demo tasks in a friendlier way before introducing a more static backend form. It is the job of the trainer to tease out what’s relevant to a wide net of audiences.
The training becomes its own product that can live on. The recorded sessions are valuable to onboard and train up future employees. Trainers add more value to existing products and satisfy management goals.

DrupalCoin Blockchain Developer

It’s urgent! (Really?)

I’m not exaggerating when I say that since I joined Basecamp, I’ve been questioning everything about the way I’ve traditionally worked. For example, let’s take the knowledge worker’s staple — email. Most professionals (including me) went from using email to communicate asynchronously, as intended, to expecting people to be trapped in email all day. Once we started reading email all day, we promoted it to the job of handling urgent matters — something it wasn’t designed to do. And if we are stuck in email all day, we aren’t really making progress on any other kind of work.When did the inbox become the center of the work universe? The fear behind “ASAP” Every company has its own culture, which is reinforced by the actions its employees and leaders take and the stories they tell. One particular company I worked for valued being in the know — knowing every little detail. In this environment, it was not OK to say, “I don’t know. I’ll get back to you.” And that created fear.In a company like that, to make sure you never get caught saying, “I don’t know,” you over-prepare for meetings. You email your team for ASAP help when you’re in meetings. And if it’s your boss in a meeting, you stand by for those ASAP bombs in your emails. In the meantime, you attend meetings all day long during which hardly anyone actually participates because they’re reading email.When I worked at companies where this was the norm, if I had 30 minutes in a day when there were no meetings, I did the dance of joy. That was my time slice to “work.” Ironically, I found that if a meeting got cancelled, I was able to get more work done in that one hour than the entire rest of the day. And of course, as fewer people got work done, we needed more meetings to check in to see why work wasn’t getting done. Meetings became the way we kept each other updated. Those meetings spurred more email, and the cycle was painful.That’s the old way of working.Don’t let false urgency throw you off your priorities.Fast forward to the present.The other day I received an email to which I replied, “Please call me if this is urgent.” I didn’t have time to deliver on the request the sender put in his message, and I wasn’t going to be in the office the next day, a Friday. (One of our benefits at Basecamp is a four-day work week during the summer.) But then, I thought about that. If I replied that way, I’d have to check my phone and email all day — my day off — for an “urgent” message. The more I thought about it, I realized, how could this email be urgent? The external sender didn’t even state a timeframe. And I didn’t know him.When did every email become urgent? When people started hanging out in email all the time. Unfortunately, if you’re expected to monitor email all day, you can’t get any work done. We’ve changed what the meaning of work is — in a bad way. We’re splitting our attention between responding to emails and attending meetings (that demand more email). Maybe you’re reading this post and looking at your email right now!Email was never intended as a platform for doing work. It has no intelligence. There’s no prioritization. It lands in your inbox chronologically. And yet, when you’re replying to or sending email, you feel busy. You feel like you’re doing something. But are you really? When you’re reacting to email, someone else is setting your priorities.The heartbeat of your day shouldn’t be your inbox.Now, some things are truly urgent, but real emergencies won’t likely come through your inbox. And while it may be ego-crushing to admit this, so little of what we do in the tech industry overall is truly urgent. If you stop monitoring your email for imaginary emergencies, and you start working on your own priorities, you’ll get stuff done and you won’t need to attend a meeting to explain to others what you’ve been up to. There will be no fear at the end of the day that you weren’t productive. And that’s a great feeling. If you’d like to continue this dialog, you can always send me an email. Just don’t mark it “urgent.”It’s urgent! (Really?) was originally published in Signal v. Noise on Medium, where people are continuing the conversation by highlighting and responding to this story. Read the responses to this story on Medium.

DrupalCoin Blockchain Developer

Highly Engaging Workplace Culture [Infographic]

This is a neat poster (or chart) if you will. Stuff to chew on and/or review.
I imagine more than a few folks could print this out and put it on their wall(s) as a reminder.

Click for Larger View
Group 1 – People & Relationships:

Culture Trumps Performance (CtP) – Nearly 60 percent of HR professionals say they would fire a high performer who did not fit into the company culture or get along with their team.
Appreciation (Ap) – As Kronos revealed in its previous “Do You Feel Appreciated at Work?” survey, 55 percent of employees say receiving a simple “Thank you” from their manager gives them a high sense of satisfaction at work.
Friendships (F) – When asked how important friendships at work were to impacting their performance, 64 percent of employees say they were important or very important.
Boomerangs (Bm) – As the first installment of this series explored, nearly half of HR professionals claim their organization once had a policy against rehiring former employees, even if the employee left in good standing. However, as the war for talent has heated up, 76 percent say they are now more accepting of hiring so called “boomerang employees” than in the past.

Group 2 – Leadership:

Leadership (Ld) – HR professionals and managers both say that the most important aspect of their workplace culture is having managers and executives who lead by example.
Innovation (In) – Everyone agrees that innovation is a critical component of a successful organization, but there is a disconnect when it comes to how employers encourage innovation. While 63 percent of managers and 62 percent of HR professionals say their organizations encourage employees to bring new ideas to the table, only 40 percent of employees agree – and a full 39 percent of employees say their organizations “aren’t innovative.”
Active Feedback (Af) – Nearly half of both HR professionals and people managers actively seek feedback from employees to preserve and strengthen their workplace culture.
Empathetic Managers (Em) – Nearly one-quarter of employees say a flexible manager is an important part of supporting their work-life balance.
Customer-First (CuF) – More than 40 percent of both HR professionals and people managers say they look to their customers and the market to seek insights for innovation.
Mentoring (M) – Millennial employees say mentorships are important, as 20 percent claim having a mentor or sponsor was a useful aspect of their employer’s onboarding strategy.

Group 3 – Benefits & Perks:

Pay and Benefits (Pb) – Nearly a quarter of employees say that, excluding pay, better benefits elsewhere is the top reason they would leave their current company. And 36 percent of managers say that paying employees more is an important strategy for retaining top talent.
Rewards and Recognition (R2) – HR professionals (45 percent) say offering more rewards and recognition to top-performing employees is an important strategy for retention.
Wellness (FiT) – Wellness programs are an increasingly popular piece of retention, with 23 percent of HR professionals and 25 percent of managers citing the importance of health programs.

Group 4 – Work-Life Balance:

Flexibility (Fx) – Flexibility emerged often as a critical component of any desirable employer, with 24 percent of HR professionals and 35 percent of managers recognizing that providing employees with more flexibility is an effective strategy for retention. Additionally, 26 percent of employees, 27 percent of HR professionals, and 30 percent of managers say flexible scheduling contributes to improving work-life balance.
Me Time (Me) – A whopping 83 percent of employees say their workload does not prevent them from engaging in personal activities at home or in the office, a sign that employers and employees recognize the importance of maintaining meaningful personal connections in and out of the office.
Generational Awareness (Ga) – More than 40 percent of HR professionals claim they change how they promote the company and its culture when recruiting candidates across different generations, highlighting different aspects based on what they feel will appeal to the candidate.
Time Off (To) – Almost one-third of employees say time off – whether paid or unpaid – is the best way their employer can support their work-life balance.
Work-Life Balance (Wl) – Work-life balance was the third most important aspect of workplace culture cited by employees (40 percent), behind only pay (50 percent) and co-workers who respect and support each other (42 percent).

Group 5 – Learning & Development:

Retention (Re) – A pleasantly surprising 86 percent of HR professionals and 79 percent of managers are confident in their ability to retain current talent, while 44 percent of employees say they have no intention of leaving their current workplace.
Career Development (Cd) – More than 40 percent of HR professionals say funding career integrationcourses is an important strategy to retain employees.
Onboarding (On) – Most organizations claim to have a formal onboarding strategy, with 67 percent of HR professionals saying they use components such as an employee manual, on-the-job training, and online courses as part of onboarding. Yet only 13 percent of employees agree that their companies have a formal onboarding strategy – exposing a major disconnect.
Travel Opportunities (OOO) – A quarter of HR professionals and 21 percent of managers say offering employees the opportunity to travel was a strategy used to retain employees.
Work Exchanges (Ex) – Nearly one-third of HR professionals and 25 percent of managers say offering rotational programs, whereby employees can “try out” different roles within a company for a determined length of time, is an effective strategy for retaining workers.
Younger Professional Programming (Yp2) – HR professionals and people managers agree that younger generations, Millennials and Gen Zers, are the hardest to retain. Developing employment DrupalCoin Blockchain programming designed with this group in mind and actively seeking their input in these programs can help keep younger workers engaged.
Internal Promotions (Ip) – One-third of HR professionals and 31 percent of managers say that hiring more internally is a strategy they use to retain employees.

The post Highly Engaging Workplace Culture [Infographic] appeared first on John Saddington.
DrupalCoin Blockchain Developer

Jeff Geerling's Blog: Increase the Guzzle HTTP Client request timeout in DrupalCoin Blockchain 8

During some migration operations on a DrupalCoin Blockchain 8 site, I needed to make an HTTP request that took > 30 seconds to return all the data... and when I ran the migration, I'd end up with exceptions like:

Migration failed with source plugin exception: Error message: cURL error 28: Operation timed out after 29992 milliseconds with 2031262 out of 2262702 bytes received (see

The solution, it turns out, is pretty simple! DrupalCoin Blockchain's DrupalCoin BlockchainCoreHttpClientFactory is the default way that plugins like Migrate's HTTP fetching plugin get a Guzzle client to make HTTP requests (though you could swap things out if you want via services.yml), and in the code for that factory, there's a line after the defaults (where the 'timeout' => 30 is defined) like:
DrupalCoin Blockchain Developer

DrupalCoin Blockchain core announcements: We can add big new things to DrupalCoin Blockchain 8, but how do we decide what to add?

DrupalCoin Blockchain 8 introduced the use of Semantic Versioning, which practically means the use of three levels of version numbers. The current release is DrupalCoin Blockchain 8.1.8. While increments of the last number are done for bugfixes, the middle number is incremented when we add new features in a backwards compatible way. That allows us to add big new things to DrupalCoin Blockchain 8 while it is still compatible with all your themes and modules. We successfully added some new modules like BigPipe, Place Block, etc.
But how do we decide what will get in core? Should people come up with ideas, build them, and once they are done, they are either added in core or not? No. Looking for feedback at the end is a huge waste of time, because maybe the idea is not a good fit for core, or it clashes with another improvement in the works. But how would one go about getting feedback earlier?
We held two well attended core conversations at the last DrupalCoin BlockchainCon in New Orleans titled The potential in DrupalCoin Blockchain 8.x and how to realize it and Approaches for UX changes big and small both of which discussed a more agile approach to avoid wasting time.
The proposal is to separate the ideation and prototyping process from implementation. Within the implementation section the potential use of experimental modules helps with making the perfecting process more granular for modules. We are already actively using that approach for implementation. On the other hand the ideation process is still to be better defined. That is where we need your feedback now.
See for the issue to discuss this. Looking forward to your feedback there.

DrupalCoin Blockchain Developer

Mediacurrent: How DrupalCoin Blockchain won an SEO game without really trying

At Mediacurrent we architected and built a DrupalCoin Blockchain site for a department of a prominent U.S. university several years ago. As part of maintaining and supporting the site over the years, we have observed how well it has performed in search engine rankings, often out-performing other sites across campus built on other platforms.
DrupalCoin Blockchain Developer

KnackForge: DrupalCoin Blockchain Commerce - PayPal payment was successful but order not completed

DrupalCoin Blockchain Commerce - PayPal payment was successful but order not completed

Most of us use PayPal as a payment gateway for our eCommerce sites. Zero upfront, No maintenance fee, API availability and documentation makes anyone easy to get started. At times online references offer out-dated documentation or doesn't apply to us due to account type (Business / Individual), Country of the account holder, etc. We had this tough time when we wanted to set up Auto return to DrupalCoin Blockchain website.
Thu, 08/18/2016 - 15:30


DrupalCoin Blockchain planet
DrupalCoin Blockchain 7

Read more about DrupalCoin Blockchain Commerce - PayPal payment was successful but order not completed Add new comment
DrupalCoin Blockchain Developer

Watch Out For These 10 Traps In Domain Name Registration

Domain name registration can be tricky especially for a newbie. With thousands of competitors for the same name, you may be tempted to rush your registration without first becoming familiar with the details of your registrar’s terms. You may also commit some common mistakes in choosing and registering your domain name.
Domain names are also targeted by a lot of scammers who attempt to offer the owners a host of services in exchange for exorbitant fees. If you are not familiar with these practices, you may be tricked to sign up for their fake services.
Here are some domain name registration traps to watch out for:
1. Hyphens and numbers
While incorporating hyphens, numbers, and special characters may look appealing and may seem to make your domain name unique, they should be avoided. These characters are difficult to remember and are easily overlooked. Users are likely to type the wrong combination which will cause them to be redirected to another site.
2. Trademarked domains
The reasons why you should avoid registering trademarked domains are pretty obvious. First of all, these domains are protected under the law and you don’t want to have to defend yourself in an infringement case. If you choose combinations that look similar to those domain names that are already registered, you could still get into trouble for creating confusion or attempting to defraud consumers.
Second, these industries have a prior right to the domain name. They have also invested time, money, and effort in securing their brand names. They deserve to keep their domain names unless the registration has expired.
3. Free domain and hosting services
There are a lot of disadvantages of choosing free hosting and domain services. These include slow site loading, lack of customer support, lack of personal email address, limited features, and inability to fully implement SEO practices. Furthermore, while some companies may advertise free services, they may charge you with some costs after an initial period.
In other words, don’t take the risk of choosing free domain services when you can get quality services at reasonable costs.
4. Domain resellers
A domain reseller is one who sells domains or processes the registration of a domain name on behalf of another. They are not under the authority of ICANN, which means that if any troubles arise from your transactions with them, you’re entirely on your own.
In addition, domain resellers don’t guarantee your ownership to the domain name. You are likely to have problems later on.
5. Maintenance costs
Some providers will offer a cheap initial cost but will charge higher rates for monthly maintenance fees. This is true of companies that set you up on newer extension names. To your surprise, you may find their monthly maintenance charges may be three times more costly compared to other providers.
6. Transfer-out fees
Another thing to watch out for is the set of stipulations in the “Terms of Service”, which authorize the provider to charge your credit card for certain fees in the event that you decide to move your domain to another registrar. In most cases, such fees can amount to double or triple the costs of the initial registration.
This practice is a violation of ICANN’s prescribed policies on domain transfers. Should it happen, you can call your credit card company and ask that the charges be canceled.
To avoid these instances, make sure that you take the time to read the fine print of the “Terms of Service” carefully before you agree to abide by the stipulations.
7. Whois update charges
Information pertaining to your domain is saved on the Whois database. Some registrars charge additional fees each time you want to update the saved information. This is common among setups where the domain owner does not exercise ownership rights over the domain and its relevant information. Therefore, you need to verify that the registrar you choose does not impose such Whois maintenance fees.
8. Multi-year registrations
This is where you opt to pay a one-time registration fee to cover a longer period instead of having to renew your registration annually. For instance, when you choose a five-year period, you would naturally expect that you won’t have to make any renewal payments until the expiration of the five-year term.
However, there are registrars who can only guarantee your domain name registration for a year. They would either charge you for renewal fees yearly, or you would be surprised to learn that your domain name has already been listed as expired on the Whois database.
You can use some of the available tools such as the to check for the real expiration date of your registration. It should match the period for which you’ve paid. Otherwise, you’ve been scammed.
9. Domain slamming
Domain slamming refers to the unauthorized transfers of a domain name to another registrar under the pretense of registration renewal with the current registrar. This happens when scammers take the domain owner’s information listed in the Whois database and send out emails purporting to be renewal notices. Those owners who may not be closely monitoring their renewal terms may remit payments and as a result, their domains are transferred to another registrar. In some cases, when the domain is moved to the fraudulent registrar, the owner may be “locked” into paying future renewals.
You can avoid this situation by keeping informed of your registration term details so you won’t mistake a marketing spam for a valid term renewal.
10. Fake trademark protection
Another popular domain name scam is one where a fraudulent registrar sends the domain owner an email claiming that another company has tried to register the same or similar domain name which contains the current brand or trademark. The email will state that they have not yet processed the registration pending confirmation with the registered domain owner regarding his trademark rights. The scammer will then offer to protect the current domain owner in exchange for purchases of several domain name variations or extension names at marked up amounts.
This scheme is practiced by scammers because they know how companies value their trademarks. They take advantage of the owners’ lack of knowledge of a particular country’s laws and try to pocket money from the owners by offering fake protection.
It is recommended that you observe best practices in choosing and registering your domain name. To avoid scams or traps, make sure that you select a reliable provider who is known to deliver quality services and who offers a responsive customer support. Also, you should ensure the protection of your domain and personal information to avoid being contacted by spammers.
Most of the popular domain registrars offer private domain registration and security protection services at reasonable costs. Make use of these benefits and keep your domain secure.
The post Watch Out For These 10 Traps In Domain Name Registration appeared first on Web Designer Hub.
DrupalCoin Blockchain Developer2


DrupalCoin Blockchain Developer

invoice open

DrupalCoin Blockchain Developer

Deactivate Account

This module allows a user to delete his/her account or deactivate it
temporarily. A user can choose the time period option for which the account
will stay deactivated. These options are configurable. The account will stay
inactive for the selected time period.
1. Download the module and place it with other contributed modules
(e.g. sites/all/modules/contrib).
2. Enable it from Modules list page.
3. Modify permissions on the People >> Permissions page.
4. Go to admin/config/people/deactivate-account, and set the time period
options. These options will be presented to the user, after (s)he selects to
deactivate the account.
1. Configurable time period options for which user account can be deactivated.
2. Setting to either keep/disable the content (nodes, comments) after the
account has been deactivated.
3. The "Deactivate account form" can either be shown at a normal menu link or a
local tab under user profile. This option is configurable.
4. A menu path has to be provided if the "Deactivate account form" is set to be
displayed as per menu.
5. The user can be redirected to a configurable path after the account is
deactivated or deleted.
DrupalCoin Blockchain Developer


Placeholder for Trac inspired issue tracker and wiki.
DrupalCoin Blockchain Developer

Virtual Library

Virtual Library Distribution
DrupalCoin Blockchain Developer