Planet Drupal

Subscribe to flux Planet Drupal
Drupal.org - aggregated feeds in category Planet Drupal
Mis à jour : il y a 54 min 11 sec

GVSO Blog: [GSoC 2016: Social API] Week 5: Checking abstraction of Social Auth

mer, 29/06/2016 - 20:42
[GSoC 2016: Social API] Week 5: Checking abstraction of Social Auth

During this last week, Google Summer of Code students must have submitted their midterm evaluation and waited for their mentors' evaluation. During these first weeks, I have been working on the main components of the Social API project. These components are:

  • Social API: contains the basic and generic methods, routing settings, and permissions every Social API sub-module will need
  • Social Auth: implements methods and templates that will be used by login-related modules
  • Social Post: provides methods to allow autoposting to social network’s accounts
  • Social Widgets: allows sub-modules to add functionality to add widgets (like buttons, embedded content) to node, blocks, etc.
gvso Wed, 06/29/2016 - 14:42 Tags Drupal Drupal Planet GSoC 2016
Catégories: Elsewhere

Acquia Developer Center Blog: Drupal 8 Module of the Week: Inline Entity Form

mer, 29/06/2016 - 20:01

Each day, between migrations and new projects, more and more features are becoming available for Drupal 8, the Drupal community’s latest major release. In this series, the Acquia Developer Center is profiling some prominent, useful, and interesting projects--modules, themes, distros, and more--available for Drupal 8. This week: Inline Entity Form.

Tags: acquia drupal planet
Catégories: Elsewhere

Axelerant Blog: Be the Best Drupal Agency with Team Wellness

mer, 29/06/2016 - 20:00

We’ve found that the best Drupal agency is the one with a highly functioning, happy team. To be fair, many completely remote, globally distributed powerhouses are healthy. However, we’re going a step further in becoming a best Drupal agency specifically through team wellness.

Become the Best Drupal Agency You Can Be

A few supporting factors to becoming what we consider a best Drupal agency are our fantastic life coach (working full-time for our team members), peer-determined semi-annual raises, and results-based productivity that’s not measured in hours. How we approach work-life balance, organizational culture, time, and money have changed the way we define being the best Drupal agency.

We take employee satisfaction to an odd extreme.

We hired a Life Coach full-time for our team members. This unique move has helped forward our holistic approach to instill job satisfaction, side step burnout, and enable healthy professional growth. Team members can contact our life coach to work on career path objectives, stress management, personal goal setting, life changes, social challenges, and much more.

This internal resource may seem bizarre to some, but it’s an option with benefits that go beyond productive workdays. A life coach fosters satisfaction and helps banish workplace indifference.

We’ve got an excellent kudos system. Our HR system integrates with Slack, which lets us give publically and receive pats on the back throughout the day. We encourage many notes of appreciation, recognizing monthly those who give and receive the most. This enablement creates a healthy and congratulatory environment within our organization.

In a professional environment like this, concealed positive feedback doesn’t always do the job. We’re building a positive culture for our team, with an emphasis on goals, personal development, and satisfaction.

Often when logging into our Slack system, we find personalized messages from the CEO and COO encouraging us to reach out to our leaders and peers if there’s something on our minds. It’s a great way to promote openness and remind everyone, daily, what we value here.

Monthly 1-on-1’s are about career growth. Making improvements and milestones are imperative, but you could say that career growth is paramount. Team members discuss with leaders their future so they can visualize the stepping stones.

Being a best Drupal agency is one which enables career growth and skill refinement, and having these every month—for everyone—applies a strategy.

In these meetings, we discuss training opportunities, the possibilities of educational reimbursement and career path changes. If a team member is interested in another vertical or department, we can nurture a transition or part-time involvement.

Our progressive policies are benefits. Team members are encouraged to take advantage of leave, travel, and tech policies whenever applicable. Inside Axelerant, you’ll find travel and technology budgets (Wi-fi reimbursement and device replacement); group health insurance; and a generous 35-days leave plus maternity, sabbatical, and paternity leave options.

Days off are shareable with other team members. And these are paid, of course.

We do work differently.

There’s been quite a bit of talk recently about burnout in the Drupal community. Work-life balance has been at the heart of this conversation, and at the crux of work-life balance you’ll find company policy. Let’s face it. Overworking, a culture of perpetual overtime, and burnout have a lot—if not everything—to do with an agency’s approach to productivity. The best Drupal agency or firm will put this into perspective and do the right thing.

We don’t clock in or out. We deliver quality work on time and budget, without timesheets. Productivity is about results via Key Performance Indicators, not punch cards. When you work hard, efficiently, and you’re connected with the team, you achieve these quality results.

Of course, our approach is detailed; we’ve adopted and refined agile frameworks which support our self-organized, self-managed teams.

Agile powers how we get things done. Our performance tracking and collaborative efforts align with this approach. There are much more reasons for our Drupal success in delivery, including our competence with automation.

We set our work schedules. This scheduling is expressive of deep trust and responsibility, and it’s a serious testament. If top Drupal agencies want to keep top performing team members happy, allowing time for daily activities (whether these involve family, social, or spiritual norms) is a great start.

Axelerant’s work-life balance is in the hands of each team member.

This doesn’t mean that our employees aren’t up early in the morning or late at night. What this means is while some may choose to be up before the sun (or long after it’s gone), it’s up to them. We encourage them to do what’s best for themselves.

These agile and scheduling characteristics help foster our team’s wellness, as both are focused on the needs of the individual. We’ve found that this doesn’t hinder project success, in fact, it helps to ensure it.

Rigidity doesn’t work, and our teams have proven that they can be trusted with accountability and independence.

We handle finances differently.

We’re transparent. In Axelerant, employees can view salaries, raises, and other details about company spending. These aren’t coveted secrets; figures are talked about openly. In this way, every employee is kept in the loop and encouraged to ask questions about our internal affairs. We keep ourselves honest, and we don’t mind talking about money.

We’re passionate about our work and our livelihood. Some firms and agencies don’t like to speak about money. We’re not like this. Let’s be frank, financial conversations centered on our employee’s needs aren’t signs of a lack of passion or selfishness. At Axelerant, we encourage openness.

Semi-annual raises are peer-determined. Each team receives a raise budget based upon profits. Next, the allocation of this amount is by honest team-level discussions. We’ve found that this system in conjunction with 1-on-1s, metrics, and engagement survey enables team recognition and promotes project feats. While this isn’t wholly competitive, it does encourage personal growth.

We’re paid on-time, in monthly lump sums. This consistency works perfectly for our employees when it comes to putting away savings and meeting monthly budgeting needs. Whereas some agency employees need to wait several weeks or a couple of months for addressing their school loans, rent, food, and other financial concerns, Axelerant employees are already done during the first week of every month.

Being remote sure helps.

Remote teams have the opportunity to put their best face forward. This doesn’t mean telecommuters are fake or disingenuous. Digital practitioners, despite contrary opinions, have the ability to interact in ways face-to-face team members can’t. They can compose themselves and avoid reactive, knee-jerk responses.

We’re talking about the unproductive kinds of office culture, the kinds that can weigh heavy in the workplace. These things can produce, over time, an unhappy (and by extension an unproductive) team. Remote work avoids this and other unpleasantness that can come with the brick and mortar.

And being global? It changes everything.

Axelerant is a globally distributed team (France, Taiwan, India, Israel, Japan, Australia, United States, and more to come). Some of us are from the major cities; others live in small towns—why does this matter? Because we’ve built a close-knit international team and have attained a diversity some can only dream of.

We’re a melting pot. Our cultural differences create a unique environment that enriches us all. The unique perspectives and insights every team member brings to Axelerant make our team dynamic. Diversity is the workplace gives organizations of all kinds a real advantage.

The importance of having this universal, a global mindset in today’s market can’t be undervalued. We’re world travelers, with a deep appreciation for the new. This connectedness is positive energy that charges Axelerant’s brand: we’re multicultural movers and boundary pushers.

There are global events and retreats happening back-to-back. Our annual retreat officially brings us all together for epicness, but we often see one another at international cons, camps, and other local meetups. This sponsored travel takes many of us to places we wouldn’t be visiting otherwise, broadening our horizons, and exposing us to the world even more.

We’re an international, 24-hour powerhouse. We use time zones to our advantage. This provides a tremendous advantage to our clients and enables us to get ahead of other agencies. At any time, somebody from Axelerant, somewhere in the world, is working hard at getting the right thing done.

The best Drupal agency will show different signs of wellness.

Beyond an extensive portfolio, and efficient Drupal services, a top Drupal agency will display healthy indications of a flourishing culture. The culture comes from people. If you’re looking for the best talent, which is what every organization in need of a Drupal vendor is looking for, then look for happy talent. Empowered teams produce powerful work. When more decision makers start to get this, we’ll all be in a better place.

These are just a few oddities that make us great. If you’re looking to hire or work for the best Drupal agency, these are some of the details you should be considering.

Free Open Source Staffing Guide hbspt.forms.create({ portalId: '557351', formId: '0e484b0e-3475-47ed-b8f5-49fa6b4cacab' });

This article was origionally published in November, 2015. It has since been updated.

This article Be the Best Drupal Agency with Team Wellness by Nathan Roach first appeared on Axelerant - Axelerant: Expert Drupal Development, Support, & Staffing.

Catégories: Elsewhere

Arpit Jalan: GSOC 2016- Display all the contents sharing same Dominant Colors in their images as of the current content- Week 5

mer, 29/06/2016 - 19:13
TL;DR The safe search constraint feature is now committed to the module along with proper web tests. So, this week I started off with a new feature offered by the Google Cloud Vision API- “Image Properties Detection”. It detects various properties and attributes of an image, namely, the RGB components, pixel fraction and score. I have worked on to detect the dominant component in the image present in any content, and display all the contents sharing similar dominant color. It is pretty much like what we see on the e-commerce sites.
Previous week I had worked on writing web tests for the safe search constraint validation on the image fields. This feature is now committed in the module Google Vision API.
This week I have worked on implementing another feature provided by the Google Cloud Vision API, namely, Image Properties Detection. This feature detects the color components of red, green and blue colors in the images along with their pixel fractions and scores.I have used this feature to determine the dominant color component (i.e. red, blue or green) in the image, and to display all those contents which have the same dominant color in their images.
I have developed the code which creates a new route- /node/{nid}/relatedcontent to display the related contents in the form of a list. This concept makes use of Controllers and Routing System of Drupal 8. The Controller class is extended to render the output of our page in the format we require. The contents are displayed in the form of list with the links to their respective nodes, and are named by their titles.
In addition to the grouping of similar contents, the colors are also stored in the form of taxonomy terms under a taxonomy vocabulary programmatically generated under the name Dominant Colors.
This issue is still under progress, and requires little modification. I need to add the link to the new route in each of the nodes, so as to  get a better interface to access those contents. Henceforth, I will put this patch for review.
A very simple example of creating routes and controllers in your module can be found here.
Catégories: Elsewhere

Arpit Jalan: GSOC 2016- Development of the project “Integrate Google Cloud Vision API to Drupal 8”- Midterm Submissions

mer, 29/06/2016 - 19:12
TL;DR It has been over a month since I started working on my Drupal project “Integrate Google Cloud Vision API to Drupal 8”, and gradually I have crossed the second stage towards the completion of the project, first being selection in the Google Summer of Code 2016 programme. Here, I would like to share my experiences and accomplishments during this one month journey, and also I would like to summarize my further plans with the project and the features which I would be implementing in the coming two months.
Let me first describe the significance of this post and what actually does “midterm submission” means?The GSOC coding phase has been divided into two halves, viz. Midterm submission and Final submission. In the first half, the students try to accomplish around 50% of the project, and submit their work to the mentors for evaluation. Those who passed the midterm evaluations are allowed to proceed further and complete the remaining portion of their project.
Now coming back to my experiences, after successfully passing through the Community Bonding period of the GSOC 2016 programme, now it was the time for start coding our project proposal to reality. As I had shared earlier that during the Community Bonding period, I came to know that the project has already been initiated by Eugene Ilyin,(who is now a part of my GSOC team). So, we discussed upon the project and set a roadmap of the project and the goals we need to achieve in the GSOC period.I had started coding the very first day of the coding phase, moving the new as well as existing functions to services. My mentors Naveen Valecha, Christian López Espínola and Eugene Ilyin really helped me a lot and guided me whenever and wherever I needed their guidance and support. They helped me to get through new concepts and guided me to implement them in the most effective way to make the module the best that we could.
During this period, I also came to learn about a lot of new techniques and concepts which I had not implemented earlier.Right from the very first day of the coding period, I have been coming across new things everyday, and it is really interesting and fun to learn all those techniques.In this one month period, I learnt about services and containers and how to implement them. The post on Services and dependency injection in Drupal 8 and the videos of Drupalize.me were of great help to understand the concept of services and implement dependency injection.I also learnt about the use of validators and constraints and how can they be implemented both on general basis or specifically on fields.I also learnt about how to create test modules and alter various classes and their functions in our tests so as to remove the dependency on web access or on valid informations for our testing purposes.I learnt new things every day and enjoyed implementing them to code our module plan into reality.At present, the module supports the Label Detection feature of the Vision API, along with the tests to verify whether the API key has been set by the end user or not. Currently, the feature of Safe Search Detection is available as a patch which can be found here, which would soon be committed to the module.
I have shared all the details of my work on the Drupal Planet. In addition, I have also uploaded a video demonstrating How to use Google Vision API module.
Catégories: Elsewhere

Microserve: Drupal in your digital ecosystem

mer, 29/06/2016 - 18:01
Drupal in your digital ecosystemJun 29th 2016

There has been a lot of coverage recently about the benefits and opportunities associated with ‘Headless Drupal’, and while this can be an important feature for some audiences it has overshadowed an arguably more important feature of Drupal 8: its ability to seamless sit alongside other technologies and share content resources.

It is really important to continue advancing Drupal's web services support. There are powerful market trends that oblige us to keep focused on this: integration with diverse systems having their own APIs, the proliferation of new devices, the expanding Internet of Things (IoT), and the widening adoption of JavaScript frameworks.

Dries Buytaert, Founder of Drupal

One of the key development goals of Drupal 8 was to produce a content platform which can easily integrate with a wide ecosystem of business applications and digital technologies. Drupal 8 was built with an API-first approach which means connecting content to other sites and applications is an expected use-case.

Drupal 8 takes a presentation-neutral approach to managing content; the content workflow is separated from the presentation of that content, meaning it can be pulled into relevant contexts on your website or pushed out across multiple third-party platforms.

Content is king

Bill Gates

Quality content is pivotal to successful online marketing strategies. Leaving it to sit in a siloed website misses the opportunity to make the very most of your best marketing asset.

Instead, it should be produced once and then re-published and promoted everywhere from your corporate intranet through to consumer apps, partner-websites, and across your entire social media presence.

By utilising Drupal 8 as a publishing framework you can aggregate and publish content resources across your existing digital solutions through rich data services and content APIs.

What this means to you is that it’s easier than ever to share content across multiple channels from one central application.

With organisations such as Oxfam, The Economist and The City of London using Drupal as their primary content platform, it’s clear that Drupal 8 has a lot to bring to modern digital businesses.

Is it time you took a fresh look at Drupal 8 and how it fits into your digital ecosystem?

Microserve are experts in all things Drupal. If you're interested in a Drupal 8 project or want to know more about how Drupal 8 can help your business, please get in touch.

Written by: Mark Pavlitski, Technical Director

Microserve is a Drupal Agency based in Bristol, UK. We specialise in Drupal Development, Drupal Site Audits and Health Checks, and Drupal Support and Maintenance. Contact us for for further information.

Catégories: Elsewhere

Cheppers blog: Drupal Developer Days Milan 2016 - as we saw it

mer, 29/06/2016 - 17:30

Drupal events always fascinate me. They don’t just provide a wonderful environment for learning from each other, to contribute to Drupal together during code sprints, and to meet new people, but they make the community stronger as well. Drupal Developer Days is probably one of the best kinds of events to make this all happen in one place. Here's my recap of Drupal Dev Days 2016 in Milan.

Catégories: Elsewhere

Amazee Labs: The Awesome Austin Drupal Dojo

mer, 29/06/2016 - 17:02
The Awesome Austin Drupal Dojo

Everyone has a routine. For some, it’s their morning coffee, for others it’s going to the gym after work. For me, it’s heading to Mangia Pizza every Thursday from 7pm-9pm, for the last 6 years. Why do I do this? Because the Austin Drupal Dojo meets every Thursday, and we have a great crowd!

Brandon Williams Wed, 06/29/2016 - 17:02 Buster, Chris, Fito, Irma, James, John, Marc, Mark, Nick, me (behind the camera) and others at the August 27, 2015 Austin Drupal Dojo.

The Austin Drupal Dojo is a meetup where anyone is welcome to hang out with other Drupalistas in a "hive mind" environment. There are no set topics or presentations. The pizza is delicious, beer refreshing, and conversations vary wildly. Most people bring a laptop and a project, but others just come for the community.

Our regulars range from Drupal experts, to hobbyists, to newbies. From full-time employees, to freelancers, to those looking for work. We also have a steady stream of folks who are looking for help. Maybe they’re just curious about Drupal, or need to learn it for a new job, or want to start their own business. The Drupal community is known for it’s welcoming atmosphere, and the Austin Drupal Dojo is an exemplary model of that community spirit. Our members jump at the chance to answer questions and help those in need, often sparking a group conversation about best practices and possible solutions.

Many of our members contribute to the other Austin Drupal Meetups (yes, we have more than one!) by speaking and/or organizing, and to the Drupal project in general by fixing core/contrib/documentation and organizing Sprint Weekends. When I became the de facto organizer, attendance was modest, and I never imagined it could blossom into such a great group. It’s been my privilege to work alongside these members of our community, and I’d like to thank everyone who’s joined us, past, present, and future.

If you’re ever in the Austin area, grab your laptop, appetite, and come join us!

What: Austin Drupal Users Group - Drupal Dojo
When: Every Thursday 7-9pm
Where:
Mangia Pizza
8012 Mesa Dr
Austin, Tx 78731
(512) 349-2126

Catégories: Elsewhere

The Sego Blog: Drupal 8 Configuration Workflows

mer, 29/06/2016 - 16:19
06/29/2016Drupal 8 Configuration Workflows

With our new configuration management system as part of Drupal 8 core we now have a powerful system to manage site configuration between our different environments.

Catégories: Elsewhere

Dries Buytaert: Drupal is for ambitious digital experiences

mer, 29/06/2016 - 11:34

What feelings does the name Drupal evoke? Perceptions vary from person to person; where one may describe it in positive terms as "powerful" and "flexible", another may describe it negatively as "complex". People describe Drupal differently not only as a result of their professional backgrounds, but also based on what they've heard and learned.

If you ask different people what Drupal is for, you'll get many different answers. This isn't a surprise because over the years, the answers to this fundamental question have evolved. Drupal started as a tool for hobbyists building community websites, but over time it has evolved to support large and sophisticated use cases.

Perception is everything

Perception is everything; it sets expectations and guides actions and inactions. We need to better communicate Drupal's identity, demonstrate its true value, and manage its perceptions and misconceptions. Words do lead to actions. Spending the time to capture what Drupal is for could energize and empower people to make better decisions when adopting, building and marketing Drupal.

Truth be told, I've been reluctant to define what Drupal is for, as it requires making trade-offs. I have feared that we would make the wrong choice or limit our growth. Over the years, it has become clear that defining what Drupal is used for leaves more people confused even within our own community.

For example, because Drupal evolved from a simple tool for hobbyists to a more powerful digital experience platform, many people believe that Drupal is now "for the enterprise". While I agree that Drupal is a great fit for the enterprise, I personally never loved that categorization. It's not just large organizations that use Drupal. Individuals, small startups, universities, museums and non-profits can be equally ambitious in what they'd like to accomplish and Drupal can be an incredibly great fit for them.

Defining what Drupal is for

Rather than using "for the enterprise", I thought "for ambitious digital experiences" was a good phrase to describe what people can build using Drupal. I say "digital experiences" because I don't want to confine this definition to traditional browser-based websites. As I've stated in my Drupalcon New Orleans keynote, Drupal is used to power mobile applications, digital kiosks, conversational user experiences, and more. Today I really wanted to focus on the word "ambitious".

"Ambitious" is a good word because it aligns with the flexibility, scalability, speed and creative freedom that Drupal provides. Drupal projects may be ambitious because of the sheer scale (e.g. The Weather Channel), their security requirements (e.g. The White House), the number of sites (e.g. Johnson & Johnson manages thousands of Drupal sites), or specialized requirements of the project (e.g. the New York MTA powering digital kiosks with Drupal). Organizations are turning to Drupal because it gives them greater flexibility, better usability, deeper integrations, and faster innovation. Not all Drupal projects need these features on day one -- or needs to know about them -- but it is good to have them in case you need them later on.

"Ambitious" also aligns with our community's culture. Our industry is in constant change (responsive design, web services, social media, IoT), and we never look away. Drupal 8 was a very ambitious release; a reboot that took one-third of Drupal's lifespan to complete, but maneuvered Drupal to the right place for the future that is now coming. I have always believed that the Drupal community is ambitious, and believe that attitude remains strong in our community.

Last but not least, our adopters are also ambitious. They are using Drupal to transform their organizations digitally, leaving established business models and old business processes in the dust.

I like the position that Drupal is ambitious. Stating that Drupal is for ambitious digital experiences however is only a start. It only gives a taste of Drupal's objectives, scope, target audience and advantages. I think we'd benefit from being much more clear. I'm curious to know how you feel about the term "for ambitious digital experiences" versus "for the enterprise" versus not specifying anything. I'm hoping we can collectively change the perception of Drupal.

PS: I'm borrowing the term "ambitious" from the Ember.js community. They use the term in their tagline and slogan on their main page.

Catégories: Elsewhere

Valuebound: How to enhance your content authoring by adding custom CKEditor plugin in Drupal 8?

mer, 29/06/2016 - 09:50

CKEditor is a popular WYSIWYG (What You See Is What You Get). In Drupal default WYSIWYG editor is CKEditor. CKEditor has many of its own plugins.

Recently I got an opportunity to work for some top level media companies like Time Inc and Farm Journal with my Valuebound Teammates. It was a challenging experience , especially on the area of content creation and management work flow.  

We got a requirement where “Content Authors” should be able to upload the images in between  paragraphs of content. When the end user clicks on those images, the image has to be shown as a popup. So we decided to create a CKEditor plugin so that the users who…

Catégories: Elsewhere

PreviousNext: A quick gotcha with Drupal 8's libraries.info.yml and aggregated JavaScript

mer, 29/06/2016 - 08:17

This one tripped me up on a recent Drupal 8 project.

Easy to miss when you're working in a development oriented environment with things like JavaScript preprocessing turned off.

A JavaScript file was being added just fine with aggregation turned off, but not getting added with it turned on.

 

Catégories: Elsewhere

Talha Paracha: GSoC’16 – Pubkey Encrypt – Week 5 Report

mer, 29/06/2016 - 02:00

This week I worked on making the module a bit flexible via integrating pluggable systems into it. This is something we had planned initially while writing the architecture document for the module, but couldn’t pursue it earlier because our focus was on developing a working prototype first. But since that’s done, we’ve reached the perfect time for this development. It should be noted that the pluggable systems are important because Pubkey Encrypt deals with security, and it is essential for the module’s success to be as flexible as possible. In this way, users would be able to configure the behavior of the module as per their organizational security standards and other demands not provided by the out of the box functionality.

Catégories: Elsewhere

Mediacurrent: 4 Benefits of Decoupled Architecture for Enterprise Digital Marketers

mar, 28/06/2016 - 21:59

Since the web was born, information technology (IT) professionals have been working to make sure their organizations had a presence online. In the past few years, we have seen a shift in those digital dollars - right onto the Marketing Department’s doorstep. This signals a larger pivot in thinking. Your website is no longer a stagnant or a “nice to have” piece of technology, but a dynamic, evolving hub for your company’s marketing, branding and lead generation efforts.

Catégories: Elsewhere

Tyler Frankenstein: DrupalCamp Michigan 2016 Last Call for Sessions

mar, 28/06/2016 - 18:45

Hello Michigan Drupal folks and beyond,

The final call for sessions for this year's DrupalCamp Michigan will be July 5th. Please submit your session proposals before that time:

http://2016camp.michigandrupal.com/sessions

In the mean time take a look at some of the great sessions proposed by the community:

http://2016camp.michigandrupal.com/sessions/proposed

Catégories: Elsewhere

Cheeky Monkey Media: Drupal and Masonry, without the tears of Frustration

mar, 28/06/2016 - 17:16
Drupal and Masonry, without the tears of Frustration micah Tue, 06/28/2016 - 15:16

I recently had to create a new layout that mimicked the Pinterest layout. Masonry to the rescue! (sorta...) With Drupal already crapping out the content via views, we could just use the Masonry views plugin right? Sorta. Well, it worked. ... sorta. There were problems, and I don’t like problems, only solutions.

I like a very NON-hacky way of doing things. Masonry views worked for the desktop screen size but failed miserably for anything smaller. We were working with a responsive design, so it was unacceptable. There was simply just no amount of tweaking the options and CSS that it came with, that I was happy with. I’m also not a fan of CMS plugins controlling layout. There tend to be crappy implementations and far less control. I don’t speak for everything, of course, just my experience.

I wanted to control.. as much as I could. So I abandoned the views plugin, and just decided to use the raw jQuery plugin, and use my own CSS.

This assumes ya know how to use requireJS and jQuery plugins.

Catégories: Elsewhere

Janez Urevc: We loved Drupal Developer Days!

mar, 28/06/2016 - 16:27
We loved Drupal Developer Days! slashrsm Tue, 28.06.2016 - 16:27

Last week part of the MD Systems team attended Drupal Developer Days in Milan.

Italian style dinner at Navigli in Milano. #drupaldevdays pic.twitter.com/CQOpIpmSGg

— Dragan Eror (@draganeror) June 23, 2016

I'd like to invite you to check our blog post to see how we liked it.

Catégories: Elsewhere

Cryptic.Zone: Extending Drupal's Node.js Integration

mar, 28/06/2016 - 16:24

The Node.js integration Drupal module offers an API that allows developers to add real-time push notification functionality to their modules. Real-time communication could enable features like chat, pop-up notifications, or real-time content update. Chatroom is a great example of how a module can leverage Node.js. 

Catégories: Elsewhere

Amazee Labs: Impressions from Drupal Developer Days in Milano

mar, 28/06/2016 - 14:37
Impressions from Drupal Developer Days in Milano

Last week, Sebastian and I attended Drupal Developer Days in Milan. An international group of 400 people gathered for a full-week conference in Italy to work and talk about Drupal 8.

Josef Dabernig Tue, 06/28/2016 - 14:37

The local team put up an outstanding conference, featuring a complete program with a week of sprints, high-quality talks and a lot more to like.

Sprinters

We could only attend from Thursday to Sunday, but the event already started Tuesday with 100 sprinters working on initiatives to move Drupal 8 and its contributed modules forward.

A look at the sprint planning sheet highlights the variety of topics that different sprinters have been working on.

The UX sprint was probably the biggest one with Gábor Hojtsy, Peter Droogmans (attiks) and Bojhan attending. I was especially excited to see ifrik and Rachel Lawson (rachel_norfolk) work on improving the organization of the Drupal admin UI. See their plan issue “Restructure the Admin interface” for further details on that.

A lot has been improved related to the UX process of Drupal. You can find a good read here, follow the DrupalUX twitter account and get more info on the initiative page.  

The multilingual initiative has been sprinting as well. Check out the great #d8mi initiative page to find out more. Gábor Hojtsi even presented his experiences with the initiative at the WordCamp Europe in Vienna, the same weekend.

Related to the media initiative, Christian Fritsch from the Thunder core team has been sprinting together with people like Janez Urevc. Check out the initiative page or follow via twitter for more info.

The Search API sprints were packed again. Thomas Seidl, Markus Kalkbrenner, Joris Vercammen, Mattias Michaux and Christian Spitzlay amongst others have been working on issues for Search API, Facets, Search API Solr and Search API Solr Multilingual.

A lot more had been sprinted on during the week, almost impossible to give a precise overview. Some examples are Drupal Commerce 2 with Bojan Živanović, GraphQL with Sebastian Siemssen, Paragraphs with Miro Dietiker. As part of the #d8rules initiative, yanniboi and various others helped out with issues and we will announce our next initiative meeting soon via the #d8rules twitter account.

Sprints are really the key element that allow for collaboration between so many great minds. Its great to see more and more camps taking in sprints as part of their program and having Drupal Developer days as the leading format in that area.

Keynotes

There was a great variety in keynote topics. We built it, now what good is it? by Jeffrey A. McGuire, Evangelist at Acquia gave a deep dive into the new features of Drupal 8 and what they mean to our customers. Making a Drupal shaped dent in the universe by Bojan Živanović, Development Lead at Commerce Guys is a talk to show how cross-community has developed over the recent years. With Drupal getting off the island, Commerce 2 for example is taking a very forward-thinking approach by developing features not as Drupal modules but small, interoperable PHP libraries first.

On Friday, Data Triangulation: Moving beyond Qual and Quant by Razan Sadeq, User Researcher at Spotify brought in the perspective of an expert working for a big product. Razan was able to show by real world examples from her work at Spotify how UX can be driven by data successfully.

Following up, there was Transforming the experience: pixel by pixel by Alessia Rullo, Software solutions user experience lead at Hewlett Packard. In her keynote, Alessia talks about aesthetic considerations with regards to web design and UX.

Saturday’s keynote was Automating Access to Development by Jessica Rose, Developer Relations at DreamFactory Software. Jessica brought together a variety of interesting topics such as diversity and automation.

Sessions

Check out the program to find a list of outstanding sessions being presented during the “talk days” of the conference from Thursday to Saturday.

Sebastian’s talk Decoupling Drupal with GraphQL & Relay was packed as usual and gave a great opportunity to share the details about how we build a decoupled architecture based on GraphQL and Relay that talks to Drupal as a datasource. The slides are up already.

I was excited to be able to talk about our experience at Amazee of using Scrum for project management. SOS - We need a Scrum process! Going from specification to collaboration is a walk through of how we managed the whole process of introducing the process and was a great opportunity to share hands-on experience of the learnings we had so far. You can find the slides here.

Are Geeks from Mars and Geekettes from Venus? - I was glad to be invited for a panel discussion on gender & diversity in tech led by Alessandra Petromilli. Together with Razan Sadeq, Kristof Van Tomme, Alessia Rullo and Jessica Rose we had inspiring discussions around the topic.
 

Conference

Besides the great experience of  sprinting & watching sessions, conferences are mainly about connecting with others from the community. The Drupal Dev Days team has made great effort to make sure all the required facilities to make this happen were provided. I’d like to especially highlight the quality of food. Good catering with healthy options makes sure that attendees don’t dehydrate and get the vitamins required to stay energetic over days and avoid the Drupal Flu.

The social program featured a Night at the museum @ Leonardo3, Galleria Vittorio Emanuele II with inspiring looks at all the impressive work that Leonardo Da Vinci did. Also many thanks to the Italian community for inviting everyone on Thursday evening for the official social event at a great bar in Milano!

I was really excited to see #TourDeDrupal bringing together a motivated group of 8 cyclers. We rode over 50km along the Martesana canal and back into the city. On Sunday, Riccardo Bessone and I had the pleasure of cycling along Lago de Como and experiencing true retro cycling up to Madonna del Ghisallo.

Volunteers & Sponsors

It was especially great to see this size of event to be realized in Italy. In 2011 I had first met Claudio Beatrice (omissis) at DrupalCamp in Brixen/Bressanone with less than 50 attendees. The Italian community has organized a couple of camps over the last years and now, with Drupal Dev Days, they could really show that an international camp with 400 people can happen really well in Italy.

A successful Drupal event wouldn’t be possible without a lot of effort being put into the event. Having organized a DrupalCamp myself, I know how much of your free time you need to sacrifice to make it happen. A big thank you to Claudio (omissis), Marco (mavimo), Riccardo (bessone).

Here’s the full list of volunteers: Alessandra Petromilli, Alessandro Sibona, Andrea Pescetti, Antje Lorch, Chandeep Khosa, Chiara Carminati, Claudio Beatrice, Edouard Cunibil, Fabiano Sant'ana, Guillaume Bec, Julien Dubois, Kester Edmonds, Luca Lusso, Marcello Testi, Marco Moscaritolo, Paolo Libanore, Pierluigi Marciano, Riccardo Bessone, Simone Lombardi, Tamer Zoubi, Yan Loetzer, Yi Yuan, Zsófi Major.

Also many thanks to all the sponsors.

Upcoming events

Which events are coming up after dev days? Here’s my short list:

Where are the next Drupal Dev Days going to be? Get in touch via the twitter account, they'll soon announce how new locations can sign up for the next year.

If you are interested in organizing a similar event, you might also be interested in checking the following presentation: Drupal Camp Organization: The Good Parts by Zsófi Major. Her slides are up already.

Thanks again to all the volunteers of Drupal Dev Days Milan. Amazee Labs was glad to be a sprint sponsor. More pictures can be found on our flickr album. See you again soon!

Catégories: Elsewhere

Miloš Bovan: Midterm evaluation of GSoC Mailhandler project

mar, 28/06/2016 - 09:58
Midterm evaluation of GSoC Mailhandler project

As usual, Tuesday is the day to update you on the progress of Google Summer of Code 2016 project - Mailhandler.

Last week both mentors and students had to fill Google Summer of Code midterm evaluation. The evaluation happened after 5 weeks of work and consisted of questions about the chosen organization, program, mentors (for students) and students (for mentors).

I am happy to announce that I have passed the midterm evaluation. Yay! I would like to give thanks to my mentors Primož and Miro. They were supporting me with reviews, ideas and suggestions in the past weeks. I hope we will continue the great cooperation in the second phase of the project as well. Here is the review I received from my mentors:

Miloš is very diligent and capable of self organising. There were no instances where we needed to remind him of his obligations or upcoming milestones. This goes equally for the technical as for the non-technical side of the project. He is always prepared to investigate the subject very carefully and find the best solutions to his knowledge. As a result his code never feels sloppy or produced just for the sake to make progress. He genuinely cares about the project. Being very goal oriented he sometimes neglects the discussion part slightly. This could be improved by requesting more feedback before jumping to implementation.

This week, GSoC students will continue the coding until the final evaluation which is scheduled for the second part of August 2016.

Back to the project updates. The last meeting with my mentors was very productive. We were talking about the weekly goal and had the broader discussion about the second phase of the project.

More specifically, we discussed the possibility to introduce the user context as a core feature of Inmail. I was writing about Inmail’s concept of plugins (analyzers, deliverers, handlers). Each analyzer has an option to analyze the mail message that is being processed and update the properties of a shared result object. This would allow collaboration between Inmail analyzers. To discuss different approaches, I created an issue on this topic. For now, the properties are updated on MailhandlerAnalyzerResult object.

Based on the discussion with mentors, we decided to split huge MailhandlerAnalyzer into several smaller analyzers. A pull request with the implementation can be followed on Github. The following analyzers were created (sorted by defaults execution order):

  • PGP (Pretty Good Privacy) analyzer analyzes the PGP-signed email messages, verifies the signature, parses the mail body and sets the sender. Although there is specific BodyAnalyzer, for signed messages we have to parse the mail body to extract the signed text and PGP signature.

  • Entity type analyzer - we have a concept of detecting an entity type and bundle information for the mail subject. For now, we only support: [node][{node_type}]. Later on, we will extend it to support comments entities too. The purpose of this analyzer is to recognize [{entity_type}][{bundle}] pattern, extracts the metadata information, do the validation and update the subject - without metadata.

  • Sender analyzer uses a well-known feature of Mailhandler for Drupal 7. It extracts the mail address from From mail header field and finds the corresponding user. It is worth to mention that user is only set in case the user context is not already populated (by some other analyzer). This prevents us from changing the user context when it is set by PGPAnalyzer, for instance. Also, since this method is not entirely safe - From mail address can be faked by a malicious user, this analyzer is disabled by default.

  • Footer analyzer detects the mail footer/signature in a mail body and updates footer and body properties. Two most used footer separators are supported. This analyzer was described in the previous blog post.

  • Body analyzer works with the actual mail body. It has pretty limited functionality. It removes the white spaces before and after the body string using PHP’s standard method trim(). Also, in case processed body is not received as HTML, it replaces new lines \r\n with <br /> HTML tag. As the analyzer was implemented as a plugin, it can be easily extended.

MailhandlerNode is becoming much “cleaner”. Our algorithm has 3 steps:

  1. Get MailhandlerAnalyzerResult which contains the result of all Mailhandler analyzers

  2. Authenticate and authorize a user

  3. Create a node.

The original complexity from one analyzer is now shared between 5 independent Inmail analyzers. This architectural simplification was made thanks to the great Drupal 8 plugin API. If you are more interested in exploring this topic, Drupalize.me published a great article about Drupal 8 plugin system.

Next week, I am going to work on extending the test coverage for the module. The plan is to create one kernel test per each created analyzer. The existing MailhandlerNodeTest will serve as a general test of all Mailhandler analyzers and MailhandlerNode handler. Also, I will provide additional test coverage of the Mailhandler’s user interface.

 

Milos Tue, 06/28/2016 - 09:58 Tags Open source Drupal Google Summer of Code Drupal Planet Add new comment
Catégories: Elsewhere

Pages