Drupal Planet

Acquia Lightning Blog: Lightning Layout with Layout Builder

3 months 3 weeks ago
Lightning Layout with Layout Builder Adam Balsam Thu, 07/26/2018 - 14:30

Since Layout Builder was added to Drupal core in 8.5, Lightning has had plans to adopt it and retire Panels and Panelizer. We've been working hard at closing the feature gap between out of the box Layout Builder and what Lightning Layout currently provides. At the same time, we've added some significant new features to Layout and made massive architectural changes to the storage of blocks created as part of a layout.

Here's a quick peek at creating a landing page using the Lightning Layout.

Note that this branch of Lightning and Lightning Layout are both alpha stability. We're hoping for beta stability this winter and a full release with a migration path early next year. This graphic shows the high-level features of each branch.

Resources

$ composer create-project acquia/lightning-project MYPROJECT $ cd MYPROJECT $ composer require acquia/lightning:4.0.0-alpha1 --no-update $ composer update # Install Drupal as you would normally.

 

Acro Media: Secure Encryption with Libsodium and Acquia Cloud

3 months 3 weeks ago

Encryption is an important part of any website that needs to store sensitive information. Encryption takes sensitive data that is in a readable form and encodes it, making it unreadable. This essentially hides the information from anyone who might try to access it without permission to do so. The encoded information can only be decoded by an entity that has a paired decryption key.

Our requirements for this particular Drupal website build included:

  • Acquia Cloud - One of the leading Drupal hosting providers.
  • Libsodium - Because of Acquia Cloud, we needed a custom compiled php extension
  • Encrypt - A Drupal module that exposes encryption APIs to other modules.
  • Key and Lockr.io - Drupal modules for managing the encryption key.
  • Sodium - A Drupal module to provide libsodium to the encrypt module.
Why use libsodium instead of mcrypt?

Libsodium is a portable, cross-platform implementation of NaCl. Experts recommend libsodium for its simple interface and strong cryptography. The sodium Drupal module takes an easier approach, which is to use a high-level package, paragonie/halite, to work with libsodium.

The other choice for encryption in PHP is mcrypt. It's the default method in the Drupal 7 version of the encrypt module. Despite that, it's a bad choice because it's difficult to use correctly. Mcrypt is deprecated in PHP 7.1 and removed in PHP 7.2.

Installing Libsodium on Acquia's PHP 7.0

PHP 7.2 has libsodium built in and if you're on 7.1 or below you can install it from PECL. We're going to be using Acquia Cloud, so we can't yet run PHP 7.2 and we can't install any PHP extension we want - not as easily as we'd like to.

Acquia requires that extensions be compiled including their dependencies. The php-libsodium extension depends on libsodium itself and we have to produce one binary for both libraries. We'll be compiling libsodium the crypto library as a static library and php-libsodium the php extension that provides bindings to libsodium for PHP applications as a dynamically linked library so it can be loaded by a regular PHP install.

Let's get started!

  1. Download the latest libsodium from https://github.com/jedisct1/libsodium/releases.

  2. Compile libsodium so it's static, not shared. Put it in a directory we'll use later.

    $ ./configure --libdir=/home/me/sodium/library --disable-shared --enable-static--enable-static makes it static, not shared. It'll be a part of the php extension when we build it instead of a separate dependency.

    --disable-shared prevents creating a shared library version of the library.

    --libdir puts it in a directory where we'll use it later.

  3. Compile with PIC (Position Independent Code).

    $ make CFLAGS='-g -O2 -fPIC'
    $ sudo make installHere's our sodium library and a pkgconfig directory we'll need to point the php extension at.

    $ ls /home/me/sodium/library
    libsodium.a libsodium.la pkgconfig
  4. Download the latest version 1 release of the libsodium php extension from https://github.com/jedisct1/libsodium-php/releases.

    Use phpize to get the extension ready to compile. Normally a PHP extension is compiled as part of PHP. This script is used to set up things up so it's like we're doing that. You need the -dev version of PHP to get phpize, so install php7.1-dev or the equivalent for your situation.

    $ phpize7.1
    Configuring for:
    PHP Api Version: 20160303
    Zend Module Api No: 20160303Now you'd notice a lot more files in the directory, like the configure script.

  5. Set the package config directory to the one where we installed libsodium.

    $ export PKG_CONFIG_DIR=/home/me/sodium/library/pkgconfig
  6. Configure libsodium-php with the path to libsodium.

    $ ./configure --with-libsodium=/home/me/sodium/library --libdir=/home/me/sodium/library--with-libsodium tells it where to find the dependency we just created.

  7. Check that libsodium.so is not looking for a shared libsodium library.

    $ ldd modules/libsodium.so
    linux-vdso.so.1 => (0x00007ffcdd68e000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f71f26eb000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f71f2d0f000)There's no libsodium dependency there, so we're good to use our libsodium.so PHP extension! Deploy the file and configure PHP to load the extension. Since we're on Acquia Cloud, Acquia does that after we provide the file.
Get encrypted!

If you're running Drupal and need encryption setup, or if you're looking to start a new project and exploring options and requirements, ! One of our business developers will be happy to help.

OpenSense Labs: Beyond the Books: Building LMS and e-Learning Systems with Drupal

3 months 3 weeks ago
Beyond the Books: Building LMS and e-Learning Systems with Drupal Akshita Thu, 07/26/2018 - 19:20 This blog explains how Drupal is the platform for redefining the eLearning frameworks.

A large number of people are still hesitant to try out unconventional learning methods owing to a number of reasons. Effective eLearning and knowledge management solutions are an essential element of success for most organizations. 

Drupal has been providing excellent results in the e-learning ecosystem. It has been modified for less technical admins and students with a highly robust and scalable infrastructure. Streamline it with low cost, faster loading, and easy tailoring of content, Drupal shouldn’t be a tough choice.

For an efficient and effective e-learning, the development has to be simple, faster, and less expensive. In fact, a successful LMS needs a sophisticated platform that must help its stakeholders with excellent results in less required skills making knowledge management and learning easy for both, the organization and students. 

Traditional Vs E-Learning 

Teaching might be a tough job but how different are the traditional and modern learning methods? 

The pains and perks differ but how much?

  • Making the learning more interesting
  • Keeping up with the process of learning through a different medium
  • Use of specific fonts, colors to ensure interactivity
  • Keeping a balance with visuals
  • Ensuring engagement within the group 

However creative e-learning might be, the traditional learning environment, does not require the degree of self-discipline nor is it flexible in terms of deadlines and class meeting times.

What is the hullabaloo all about?

A lot is said and done in a traditional classroom through language, facial expressions, and body language. To make up for such clues and ideas, online courses have greater reading requirements.

The assignment has more directions and a deadline to adhere to, in the online learning environment.  As for the learners, they complete the assignment and upload it to the LMS. 

Drupal vs SaaS LMS: Why opt for Drupal?

Distinct organizations have different learning workflow, assignment mechanism, and management process of students. With Drupal, it is easy to customize the framework according to your needs. Drupal's flexibility allows you to build custom and specific solutions. You can also create standard sets of code and extend them to meet particular client use cases. 

Digital Literacy
A traditional classroom setting requires physical presence while an online environment requires tech savviness. Learners should be able to navigate, evaluate and create information using a variety of technologies. They should be able to use the basic word and numerical processing software.

Individualized Learning 
This is the leading difference and advantage of eLearning vs traditional learning. The learner experiences a one-on-one, tailored instruction that is not possible in the traditional environment. A shift from a curriculum-centered to a learner-centered environment makes eLearning a winning proposition.

Quality and Response time for Feedback 
In a traditional setting, feedback is prompt. But in an online setting, feedback can take more hours. The feedback process needs to be channelized in a way that the students feel a greater sense of community support.

Challenges

Become Opportunities

Tracking the attendance

Authenticate students

Create student/teacher relationships

Conduct individualized instructions

Facilitate classroom management

Provide relevant and current materials

Conduct guided and group discussions

Create virtual classrooms

Manage group dynamics 

Support vigor, authenticity

Manage interruptions

Faster loading time

Covering the Challenges and Needs with Drupal 

A well-planned eLearning system will address the issues in a strong and effective way,
flexible to meet the unique needs of all the participants. In this section, we will explore how Drupal is helping meet the challenges. 

One of the foremost challenges remains the infrastructure. #RecreatingClassrooms 

  • Digital Classrooms

One of the important goals is to create the digital classrooms in a way that it keeps the feel of the classroom alive. Drupal supports many such approaches for the task. 

Modules such as Organic groups enable the users to create and manage their own 'groups' with the functionality of subscribers. The subscribers from each group can also communicate amongst themselves.

It provides usual node types such as blog, story, page, etc. The block shown on the group homepage facilitates the surfer with a quick summary of the content or group. It also allows groups to be selective.  

Selective groups require approval in order to become a member or even invitation-only groups. There are lots of preferences to configure groups as you need. This ensures classes remain exclusive and elusive to the disturbances. 

Another module - Group - allows you to create arbitrary collections of your content and users on your site and grant access control permissions on those collections

Classes on a school website. With a teacher as the administrator, students as the members and the content as the learning material. Articles in the Group are created by the teacher and only visible to the students in the Group. Forums created in the Group are safe places to discuss the class as they are only accessible to the teacher and the students.

Revamping your Higher-Ed website? Devise content strategy for your higher education websites with Drupal

  • Multiple User Types

Teachers, need to have their notes, resources, and access to different content types to organize classes/groups in a better way. When conducting virtual groups, user roles, types, and permissions are, thus, important for the security and smooth functioning of the groups also known as virtual class. Out of the box, Drupal 8 offers different user types, roles, and permissions which can be leveraged so the teacher (group coordinator) has access to different resources than the rest. 

You can set:

  • Anonymous user
  • Email unverified user
  • Authenticated user
  • Confirmed user
  • Community user

Additionally, you can use Multiple Registration - Drupal module - to create two user registration pages. One for general users and one, let's say, for hosters. You can add several specific fields for hoster registration page and these fields should not be available on the general user registration page. Furthermore, if you need some hosters fields only on user edit page, without showing these fields on the registration page, this module could help you here too.

Challenges Become Opportunities With Drupal

Tracking the attendance

Authenticate students

School Administration module to keep a track of attendance

Create student/teacher relationships

Conduct individualized instructions

Views and Taxonomy tagging 
ŽReuse and repurpose with Individualize content.

Facilitate classroom management

Provide relevant and current materials

Modules such as Web form and Quiz. 
ŽAssess comprehension or survey and compile results and data

Conduct guided and group discussions

Create virtual classrooms

Comments, Forums, Polls (Drupal core)
ŽProvide interactivity

Manage group dynamics 

Support vigor, authenticity

Modules - Group - to facilitate groups 

Manage interruptions

Faster loading 

Modules such as memcache
  • Adding Content

To tap into different learning styles the presentation of the information in multiple formats simultaneously is important. In one tested example, a presentation connects the script of a video to the video itself, so that students can read the material as the video streams onto the screen.

This benefits from the reinforcement of reading and helps the virtual groups. Drupal offers IMCE module which helps in image/file uploader and browser that supports personal directories and quota. It also helps with the operations of the image (jpg, png, gif) such as resizing, creating thumbnails, setting preview. Other than setting permissions for the directory, it also supports the private file system. 

  • Managing Menu

Managing groups from different scenarios, in an eLearning platform, can be tough. The platform must allow users to function in both worlds very comfortably and supports educators between school and home or work and home transitions. Students have various paper schedules to keep track of their classes, and online students need the same. 

Drupal’s ability to support bi-directional data sharing, along with providing an easy menu with configurable blocks of menu links with advanced features not available in Drupal 8 core.

Menu Block allows you to display blocks of menu links starting with any desired level of a menu and limited to any desired depth. This module provides an additional configuration so you can choose to expand all menu links with children or to root the menu tree to a specific menu item.

Another module, Administration menu, provides a theme-independent administration interface for easier navigation. It's a helper for novice users coming from other CMS, a time-saver for site administrators, and useful for developers and site builders.

It not only contains regular menu items — tasks and actions are also included, enabling fast access to any administrative resource your Drupal site provides.

  • Managing Non-text Content

One of Drupal’s strengths is presenting different bits of information to different users based on permissions, roles, and other identifiers. To keep the learning interesting, teachers can organize quizzes, voting, or add different videos. 

This is possible with the Quiz module which lets you create graded assessments. A Quiz is given as a series of questions. Answers are then stored in the database. Scores and results are displayed during or after the quiz. Administrators can provide automatic or manual feedback. 

The Fivestar voting module adds a clean, attractive voting widget to nodes and comments and any entity, to keep the user interface very interesting and democratic. 

  • Organizing the Content

Taxonomy and its tags are one way to allow students to customize their learning experience through Drupal. Correctly classifying information is a very early premise in education and library sciences. Drupal’s core Taxonomy functionality provides an excellent basis for creating online classification systems.

To give your eLearning system a strong foundation, develop a smart nested taxonomy structure that is very clear to the end-user. Drupal will punish you if you don’t put enough time into understanding and organizing your content.

Other important modules and features by Drupal are: 

  • Mathjax: Allows to write all mathematical equations and displays on the webpage. Indeed a great tool for academia.
  • hierarchical_select: In case of a large number of terms which is used to tag the content. These terms also have a hierarchy and the user is expected to select the child most suitable term. 
  • diff: Diff module give better visibility of the difference between the two versions of a content.
  • Elysia_cron: A great cron management tool which gives fine grain control over each task giving the flexibility to schedule each individual task separately.
  • ajax_comments: The modules enables the user to post a comment without refreshing the page 
Building Techtud with Drupal 

Techtud is an Edu-Tech social networking site and started in 2013. It combines various features of social networking which helps improve learning experience with videos and pictures & increasing user engagement. 

The basic idea was to promote the culture of learning while sharing, on a platform which was dynamic in its own sphere. So we wanted:

1) To reinvent the traditional form of learning

2) Through a social media platform

3) Where not only students can watch videos but also add content for the larger community.

Techtud currently gets 500,000 page views per month to serve 20,000+ users all around the globe. Challenges

The challenges revolved around building a platform which: 

  • Is user-friendly and has engaging features.
     
  • Is easy-to-use, which would ease the process of identifying the content type, structure and its presentation for easy discovery.
     
  • Needed a framework which would help add content to our database without affecting the performance of the website. 
     
  • Is flexible in providing easier workflow and management capabilities. 
Result

The project was completed in 6 sprints spanning 2 weeks each. The easy workflow management ensured that the users can add as much as they want. 

Techtud currently gets 5,00,000 monthly page views to serve 20,000+ users all around the globe. Building Techtud was not like building a site, it was building a community which would promote the idea of  “Quality education for all”. 

Looking for a web development agency which can help build your e-learning system? Contact us at hello@opensenselabs.com and we will get back to you as soon as possible.

blog banner blog image Blog Type Articles Is it a good read ? On

Lullabot: A Content Personalization Primer

3 months 3 weeks ago

If you build or manage public-facing websites, you've almost certainly heard the excited buzz around personalization technology. Content marketers, enthusiastic CEOs, and product vendors all seem to agree that customizing articles, product pitches, and support materials to each visitor's interests — and delivering them at just the right time — is the new key to success.

Content personalization for the web isn't new, and the latest wave of excitement isn't all hype; unfortunately, the reality on the ground rarely lives up to the promise of a well-produced sales demo. Building a realistic personalization strategy for your website, publishing platform, or digital project requires chewing on several foundational questions long before any high-end products or algorithms enter the picture.

The good news is that those core issues are more straightforward than you might think. In working with large and small clients on content tailoring and personalization projects, we've found that focusing on four key issues can make a huge difference.

1. Signals: Information You Have Right Now

A lot of conversations about personalization focus on interesting and novel things that we can discover about a website visitor: where they're currently located, whether they're a frequent visitor or a first-timer, whether they're on a mobile device, and so on. Before you can reliably personalize content for a given user, you must be able to identify them using the signals you have at your disposal. For example, building a custom version of your website that's displayed if someone is inside your brick-and-mortar store sounds great, but it's useless if you can't reliably determine whether they're inside your store or just in the same neighborhood.

Context

The simplest and most common kinds of signals are contextual information about a user's current interaction with your content. Their current web browser, the topic of the article they're reading, whether they're using a mobile device, their time zone, the current date, and so on are easy to determine in any publishing system worth its salt. These small bits of information are rarely enough to drive complex content targeting, but they can still be used effectively. Bestbuy.com, for example, uses visitor location data to enhance their navigation menu with information about their closest store, even if you've never visited before.

undefined Identity undefined

Moving beyond transient contextual cues requires knowing (and remembering) who the current visitor is. Tracking identity doesn't necessarily mean storing personal information about them: it can be as simple as storing a cookie on their browser to keep track of their last visit. At the other end of the spectrum, sites that want to encourage long-term return visits, or require payment information for products or services, usually allow users to create an account with a profile. That account becomes their identity, and tracking (or simply asking for) their preferences is a rich source of personalization signals. Employee intranets or campus networks that use single-sign on services for authentication have already solved the underlying "identity" problem — and usually have a large pool of user information accessible to personalization tools via APIs.

Behavior

Once you can identify a user reliably, tracking their actions over multiple visits can help build a more accurate picture of what they're looking for. Common scenarios include tracking what topics they read about most, which products they tend to purchase (or browse and reject), whether they prefer to visit in the morning or late at night, and so on. As with most of the building blocks of personalization, it's important to remember that this data is a limited view of what's happening: it tracks what they do, not necessarily what they want or need. Content Strategist, Karen McGrane sometimes tells the story of a bank whose analytics suggested that no one used their the site's "Find an ATM" tool. Further investigation revealed that the feature was broken; users had learned to ignore it, even though they wanted the information.

Consumer Databases

Some information is impossible to determine from easily available signals — which leads us to the sketchy side of the personalization tracks. Your current visitor's salary, their political views, whether they're trying to have a child, and whether they're looking for a new job are all (thankfully) tough to figure out from simple signals. Third-party marketing agencies and advertising networks, though, are often willing to sell access to their databases of consumer information. By using tools like browser fingerprinting, these services can locate your visitors in their databases, allowing your users to be targeted for extremely tailored messages.

The downside, of course, is that it's easy to slide into practices that unsettle your audience rather than engaging them. Increasingly, privacy-conscious users resent the "unearned intimacy" of personalization that's obviously based on information they didn't choose to give you. Europe's GPDR, a comprehensive set of personal data-protection regulations in effect since May 2018, can also make these aggressive targeting strategies legally dangerous. When in doubt, stick to data you can gather yourself and consult your lawyer. Maybe an ethicist, too.

2. Segments: Conclusions You Draw Based on Your Information

Individually, few of the individual signals we've talked about so far are useful enough to build a personalization strategy around. Collectively, though, all of them can be overwhelming: building targeted content for every combination of them would require millions of variations for each piece of content. Segmenting is the process of identifying particular audiences for your tailored content, and determining which signals you'll use to identify them.

It's easy to assume the segments you divide your audience into will correspond to user personas or demographic groups, but different approaches are often more useful for content personalization. Knowing that someone is a frequent flyer in their early 30s, for example, might be less useful for crafting targeted messages than knowing that they're currently traveling.

On several recent projects, we've seen success in tailoring custom content for scenarios and tasks rather than audience demographics or broad user personas. Looking at users through lenses like "Friend of a customer," "browsing for ideas" or "comparison-shopper" may require a different set of signals, but the usefulness of the resulting segments can be much higher.

Radical Truth

It's hard to overstate the importance of honesty at this point: specifically, honesty with yourself about the real-world reliability of your signal data and the validity of the assumptions you're drawing from it. Taking a visitor's location into account when they search for a restaurant is great, but it only works if they explicitly allow your site to access their location. Refusing to deal with spotty signal data gracefully often results in badly personalized content that's even less helpful than the "generic" alternative. Similarly, treating visitors as "travelers" if they use a mobile web browser is a bad assumption drawn from good data, and the results can be just as counterproductive.

3. Reactions: Actions You Take Based on Your Conclusions

In isolation, this aspect of the personalization puzzle seems like a no-brainer. Everyone has ideas about what they'd love to change on their site to make it appeal to specific audiences better, or make it perform more effectively in certain stress cases. It's exciting stuff — and often overwhelming. Without ruthless prioritization and carefully phased roll-outs, it's easy to triple or quadruple the amount of content that an already-overworked editorial team must produce. If your existing content and marketing assets aren't built from consistent and well-structured content, time-consuming "content retrofits" are often necessary as well.

Incentivization

The ever-popular coupon code is a staple of e-Commerce sites, but offering your audience incentives based on signal and segmenting data can cover a much broader range of tactics. Giving product discounts based on time from last purchase and giving frequent visitors early access to new content can help increase long-term business, for example. Creating core content for a broad audience, then inserting special deals and tailored calls to action, can also be easier than building custom content for each scenario.

Recommendation

Very little of the content on your site is meant to be a user's final destination. Whether you're steering them towards the purchase of a subscription service, trying to keep them reading and scrolling through an ad-supported site, or presenting a mall's worth of products on a shopping site, lists of "additional content" are a ubiquitous part of the web. Often, these lists are generated dynamically by a CMS or web publishing tool — and taking user behavior and signals into account can dramatically increase their effectiveness.

undefined

The larger the pool of content and the more metadata that's used to categorize it, the better these automated recommendation systems perform. Amazon uses detailed analytics data to measure which products customers tend to purchase after viewing a category — and offers visitors quick links to those popular buys. Netflix hired taxonomists to tag their shows and movies based on director, genre, and even more obscure criteria. The intersections of those tags are the basis of their successful micro-genres, like "Suspenseful vacation movies" or "First films by award-winning directors."

Prioritization

One of the biggest dangers of personalization is making bad assumptions about what a user wants, and making it more difficult in the name of "tailoring" their experience. One way to sidestep the problem is offering every visitor the same information but prioritizing and emphasizing different products, messages, and services. When you're confident in the value of your target audience segments, but you're uncertain about the quality of the signal data you're using to match them with a visitor, this approach can reduce some of the risks.

Dynamic Assembly undefined

Hand-building custom content for each personalization scenario is rarely practical. Even with aggressively prioritized audience segments, it's easy to discover that key pages might require dozens or even hundreds of variations. Breaking up your content into smaller components and assembling it on the fly won't reduce the final number of permutations you're publishing, but it does make it possible to assemble them out of smaller, reusable components like calls to action, product data, and targeted recommendations. One of our earliest (and most ambitious) personalization projects used this approach to generate web-based company handbooks customized for hundreds of thousands of individual employees. It assembled insurance information, travel reimbursement instructions, localized text, and more based on each employee's Intranet profile, effectively building them a personalized HR portal.

That level of componentized content, however, often comes with its own challenges. Few CMS's out-of-the-box editorial tools are well-suited to managing and assembling tiny snippets rather than long articles and posts. Also, dynamic content assembly demands a carefully designed and enforced style guide to ensure that all the pieces match up once they're put together.

4. Metrics: Things You Measure to Judge the Reactions' Effectiveness

The final piece of the puzzle is something that's easy to do, but hard to do well: measuring the effectiveness of your personalization strategy in the real world. Many tools — from a free Google Analytics account to Adobe Sharepoint — are happy to show you graphs and charts, and careful planning can connect your signals and segments to those tools, as well. Machine learning algorithms are increasingly given control of A/B testing the effectiveness of different personalization reactions, and deciding which ones should be used for which segments in the future. What they can't tell you (yet) is whether what you're measuring matters.

It's useful to remember Goodhart's Law, coined by a British economist designing tools to weigh the nation's economic health. "When a measure becomes a target, it ceases to be a good measure." Increased sales, reduced support call volume, happier customers, and more qualified leads for your sales team may be hard to measure on the Google Analytics dashboard, but finding ways to measure data that's closer to those measures of value than the traditional "bounce rate" and "time on page" numbers will get you much closer. Even more importantly, don't be afraid to change what you're measuring if it becomes clear that "success" by the analytics numbers isn't helping the bottom line.

Putting It All Together

There's quite a bit to chew on there, and we've only scratched the surface. To reiterate, every successful personalization project needs a clear picture of the signals you'll use to identify your audience, the segments you'll group them into for special treatment, the specific approaches you'll use to tailor the content, and the metrics you'll use to judge its effectiveness. Regardless of which tool you buy, license, or build from scratch, keeping those four pillars in mind will help you navigate the sales pitches and plan for an effective implementation.

Drupal Association blog: 2018 Drupal Association at-large election winner announced

3 months 3 weeks ago

The staff and board of the Drupal Association would like to congratulate our newest board member:

Suzanne Dergacheva.

Thank you, Suzanne, for stepping forward to serve the Drupal community. On behalf of the community I also want to thank all the candidates who put themselves out there in service of Drupal and nominated themselves. We are grateful that our community has so many brave and generous people willing to contribute this way.

Suzanne's election to the board represents the seventh year of elections to a community-at-large seat on the Drupal Association Board.

This year, in my new position as Community Liaison, I wanted the elections to happen using the same processes as last year to observe how everything worked internally and to form proposals for how we can continue to improve the process in following years.

Our next steps will be to reach out to the candidates for their evaluation of the elections experience.

We also want to hear from the voters. Please tell us about your experience with the elections process in the comments below. If you did not vote, we especially want to hear from you, through a special one-question survey. Your feedback is important to us so that we can make the 2019 elections process even better.

About the Elections Methodology: Instant Run-off Voting(IRV)

Elections for the Community-at-large positions on the Drupal Association Board are conducted through Instant Run-off Voting. This means that voters can rank candidates according to their preference. When tabulating ballots, the voters' top-ranked choices are considered first. If no candidate has more than 50% of the vote, the candidate with the lowest votes is eliminated. Then the ballots are tabulated again, with all the ballots that had the eliminated candidate as their first rank now recalculated with their second rank choices. This process is repeated until only two candidates remain and a clear winner can be determined. This voting method helps to ensure that the candidate who is most preferred by the most number of voters is ultimately elected. You can learn more about IRV (also known as Alternative Vote) in this video.

Voting Results

There were 9 candidates in contention for the single vacancy among the two community-at-large seats on the Board. 967 voters cast their ballots out of a pool of 74268 eligible voters (1.3%). Voters ranked an average of 3.7 candidates on their ballots.

The bar charts below show the vote counts for each candidate in each round.

  • Yellow — Votes carried over from the previous round.
  • Green — Votes received in this round.
  • Red — Votes transferred away in this round.

A candidate's votes in a round is the sum of the yellow and green bars.
Since the green and red bars represent votes being transferred, the sum of the
green and red bars is the same.

The exhausted bar represents votes where the voter did not indicate a next
preference and thus there were no candidates to transfer the vote to.

Round 1

(next)

Count of first choices.

Round 2

(prev)(next)

Count after eliminating Esaya Jokonya and transferring votes.

Round 3

(prev)(next)

Count after eliminating Tom Grandy and transferring votes.

Round 4

(prev)(next)

Count after eliminating Jairo Pinzon and transferring votes.

Round 5

(prev)(next)

Count after eliminating Anya Abchiche and transferring votes.

Round 6

(prev)(next)

Count after eliminating Piyush Poddar and transferring votes.

Round 7

(prev)(next)

Count after eliminating Suchi Garg and transferring votes.

Round 8

(prev)(next)

Count after eliminating Nikki Stevens and transferring votes.

Final round between Suzanne Dergacheva and Hussain Abbas.

Winners

Winner is Suzanne Dergacheva.

Footnote

One candidate, who wishes to remain anonymous, withdrew after voting closed. It did not alter the results.

Agiledrop.com Blog: AGILEDROP: Promote Drupal - to agencies!

3 months 3 weeks ago
When I started working with Drupal, I was impressed by how developer friendly the community and the software were. Twelve years later, as my role and responsibilities in our business changed, my opinion of who should cater to Drupal also adjusted.   Drupal would not be what it is today without the hard work of many developers who devoted their (mostly free) time to build the core framework. Even more important are the products in the module ecosystem that address real business problems, enabling the cost reduction of developing complex solutions. During the last ten years, I learned how the… READ MORE

OSTraining: How to Set a Voting System in Drupal 8

3 months 3 weeks ago

One of OSTraining’s customers asked how to implement content voting on their site.

There are a few alpha releases of voting modules based on the Voting API.

In this tutorial, you will learn how to use the Votingapi Widgets for Drupal 8.

It makes use of a “Rating” field, which you can customize and insert into your content.

Let’s start!

Bay Area Drupal Camp: Register for BADCamp and submit your sessions!

3 months 3 weeks ago
Register for BADCamp and submit your sessions! Drupal Planet ANNE Tue, 07/24/2018 - 13:22

Join us Wednesday, October 24 -  Saturday, October 27, 2018, in Berkeley, CA

Registration is Now Open

BADCamp is a Drupal conference for the people. It’s an annual celebration of open-source software in Berkeley CA. Join us this October 24-27 for four days of talks, training, summits, sprints, and socials with some of the brightest minds from all over the world! Our attendance is growing and last year over 1,400 folks came to BADCamp, come be part of the BADCamp experience in 2018!

Register Today 

 

Submit Your Session

Over 700 people have given talks at BADCamp. You could be next.

Whether you’re a veteran presenter or brand new to speaking at Drupal events – if you have an idea to propose, a lesson learned, tips and tricks that could help others, or something beautiful you want to reveal, we invite you to propose a session at BADCamp and share your knowledge with us. Submissions for sessions close on Tuesday, August 21st, 2018 11:59 pm PT.

Submit your session today!

 

Events This Year Include:
  • Wonderful BADCamp sessions

  • Sprints!

  • Informative (speed of) lightning talks

  • NEW Drupal training courses across two days

  • BADCamp day-long summits including:

    • Nonprofit Summit

    • Higher Education Summit

    • Drupal Frontend Summit

    • Backdrop Summit

    • DevOps Summit

  • Sponsor booths for job and networking opportunities

  • Amusing BADCamp parties including the Saturday night BIG BAD DRUPAL PARTY!

  • A very awesome Bay Area Camp which will also feature such BADCamp specialties as PIRATE SHIPS (cross your fingers), donuts, free specialty coffee, pinball machines, waffles, Berkeley’s wonderful food trucks, and much, much more.

Where should I stay?  

Berkeley hotels are filling up early for BADCamp week due to other events in the area. Please book early! We have rooms reserved in two host hotels. See the website for more options.

 

Sponsors

A BIG thanks Platform.sh and all our sponsors who have committed early. Without them, this magical event wouldn’t be possible. We are also looking for MORE sponsors to help keep BADCamp free and awesome. Interested in sponsoring BADCamp? Contact matt@badcamp.net or anne@badcamp.net



 

OpenSense Labs: Scrum Framework: Agile Solution for Drupal Development

3 months 3 weeks ago
Scrum Framework: Agile Solution for Drupal Development Shankar Tue, 07/24/2018 - 18:51

It is that time of an era where everything ranging from software projects to online purchases is expected to be delivered to us swiftly. Continuous delivery is the latest fad which has made it possible to perpetually adapt software in line with user feedback, shifts in the market, and alterations to business strategy. Scrum framework comes with a powerful set of principles and practices that help perpetuate continuous deliveries in business enterprises.

In an earlier blog, we traversed the agile development methodology and its amazing benefits for project management. Scrum is one of the most popular of the agile approaches. Not only the software industries, where the origins of scrum lay, but a truckload of filmmakers, educational institutions, and a growing number of manufacturing companies have started adopting agile processes.

How can scrum framework be a big boost to the development of Drupal-based projects? Let’s find out.

Origins of Scrum

The term ‘Scrum’ has its origins in the 1985 article The New New Product Development Game by Hirotaka Takeuchi and Ikujiro Nonaka which was published in the Havard Business Review. In 1995, Jeff Sutherland and Ken Schwaber jointly presented a paper, “The Scrum Development Process” at Object-Oriented Programming, Systems, Languages and Applications (OOPSLA) conference.

"Scrum is a power-packed set of principles and practices that assist with the project development"

Subsequently, with the formation of the Agile Alliance and the Scrum Alliance, it paved the way for the establishment of Scrum.org in 2009 for further improvements.                                                                             

What is Scrum?

 

Scrum, an agile process, is a simple and amazingly power-packed set of principles and practices that assist teams with the project development. It lets you deliver products in short cycles, enables super feedbacks, aids in ceaseless betterments and rapid adaptation to alterations.

Scrum framework allows people to address intricate adaptive challenges and deliver top-of-the-line products while maintaining productivity and creativity.
 
It is the obverse of a huge set of interlaced mandatory components. It executes the scientific method of empiricism and supersedes a programmed algorithmic approach with a heuristic one to encounter volatility and solves intricate problems.

What are the basics of Scrum? Source: Scrum.orgUsage

Initially, it was developed to developing and governing products. Starting in the early 1990s, it has been heavily used worldwide to:

  • Identify the product capabilities, technologies and the market feasibility through an extensive research
  • Build products and release them frequently numerous times a day
  • Build and sustain cloud(online, safe, on-demand) and other operational environments for product use
  • Sustain and revitalise products

It has been used to build almost everything ranging from embedded software and networks of interacting function to marketing and governing the operation of business enterprises.

With its reputation for iterative and incremental knowledge transfer, it is now widely used for products, services and the governance of the parent organisation.

Theory

Scrum adheres to empirical process control theory or empiricism and the three most important aspects that help in the implementation of empiricism are:

  • Transparency: Significant aspects of the process are defined by a standard benchmark so that it is visible to whomsoever responsible for the outcome.
  • Inspection: Scrum artefacts and the progress status towards the sprint goal should be assiduously inspected by skilled inspectors. Also, too much of inspection should not get in the way of the work.
  • Adaptation: To minimise any sort of deviation if one or more aspects of the process go beyond the scope of acceptable limits, adjustments should be done as quickly as possible.
Team

Scrum team is composed of a Product Owner, the Development Team and a Scrum Master.

  • Product Owner is the sole person taking care of the management of the Product Backlog.
  • Development Team delivers a potentially releasable increment of a ‘Done’ product after a sprint ends.
  • Scrum Master helps everyone on the team understand the Scrum theory, practices, rules and values.
Values such as openness, respect, courage, commitment, and focus are assimilated and lived by the Scrum Team to build trust for everyone. Events

Events involved in the Scrum are time-boxed events to get the maximum duration for each of them thereby ensuring regularity.

  • A Sprint is a time-box event that involves one month or less during which a ‘Done’, usable, and a potentially releasable product is created. After a Sprint ends, the new one is initiated immediately.
  • A Sprint can be aborted by the Product Owner before the Sprint time-box is over if the Sprint Goal becomes superannuated.
  • Sprint planning involves the work that is needed to be performed in the Sprint. It goes to a maximum of eight hours for a one-month Sprint.
  • The Sprint Goal is the set of objectives framed for the Sprint which has to be met through the implementation of Product Backlog.
  • The Daily Scrum is held every day of the Sprint which is a 15-minute time-boxed event for the Development Team so that they can plan their work for the next 24 hours.
  • A Sprint Review allows the Scrum Team and the stakeholders to collaborate on what was done in the Sprint. This is done at the end of the Sprint to review the Increment and adapt the Product Backlog if required. This is at most a four-hour meeting for one-month Sprints which is lesser for shorter Sprints.
  • The Sprint Retrospective is a phase where the Team inspects itself and creates a plan for betterments that can be incorporated during the next Sprint. This is done after Sprint Review and involves at the most a three-hour meeting for one-month Sprints.
Artefacts

Artefacts defined by Scrum represent work or value and is designed to maximise transparency such that everyone is on the same page when it comes to the understanding of the artefact.

  • Product backlog refers to the ordered list of everything that is required to be included in the product. It happens to be the prime source of requirements for any alterations to be made to the product. The Product Owner handles the content, availability and ordering of the Product Backlog. The total work that is remaining to be done to attain a goal can be summed at any point in time. The Product Owner monitors the progress towards the goals and this information is made transparent to all stakeholders.
  • The Sprint Backlog is the collection of Product Backlog items chosen for the Sprint in addition to the plan of delivering the product Increment and realising the Sprint Goal. The Development Team tracks the total work remaining at least for every Daily Scrum to forecast the likelihood of attaining the Sprint Goal.
  • The Increment is the summation of all the Product Backlog items that are completed during a Sprint and the value of all the increments that were completed in the previous sprints.
  • Artefact Transparency is an important component where the decisions to optimise value and control the risks involved are made. These decisions are made on the basis of the perceived state of the artefacts.
How can Drupal development be improved with Scrum framework?

Drupal Community has been very active and has shown a huge interest in this prime source of agility in the Drupal development.

A DrupalCon Vienna session in 2017 presented a Scrum master story where they talked about how their company hacked their way into agility. With a couple of weeks of preparations, they pulled off a Hackathon of a complete week and all the non-ICT (Information and Communication Technologies) teams joined in.

Their development department formed 3 Scrum teams and started working with the Scrum framework with the help of an Agile Coach to improve their project management. Not only did the development team benefitted from the incorporation of Scrum values but the non-technical teams extracted a lot of merits as well.

With the use of hackathons, they achieved a discernible transformation from an old-fashioned department centred company to a more holistic organisation with roles instead of functions in addition to multi-disciplinary teams. Thus, agility was brought to the way they functioned in this continuously transforming digital arena.

Another session at a DrupalCon Baltimore session in 2017 delineated an agency’s transition to scrum for their project development needs. For managing a project, the agency used to sit down with the clients at the project kickoff and laid down the roadmap. This involved every other specification with a day-long discovery workshop. And then, they would wade into the design and building process.

To improve this kind of development process, the Scrum-based agile workflow was adopted. This helped them to work on several projects simultaneously without burning out developers thereby resulting in a timely and quality code.

Implementation of Scrum eliminated the logjam of a single technical lead, specified everything at the inception of a project, brought clients and developers together, and enhanced the precision of work estimations.

The highlights of Scrum adoption in their agency include:

  • Kept the team organised, focussed and motivated while engrossed on several projects at the same time.
  • Helped in managing shifting workloads without having any repercussions on project delivery or spoiling team happiness.
  • Involved the Product Owner in the live instances of the project development process
  • Divided the work into Epics, Stories, Tasks etc.
  • Estimated with much more accuracy
  • Could run efficient retrospectives with a distributed team
  • Scheduled BOFs (Birds of a feather session) so that attendees could share their experiences of Scrum adoption in their own teams.
Case study

The Scrum.org team wanted to redesign their website and needed a partner who can adhere to Scrum’s three most important pillars - transparency, inspection and adaptation - and follow the agile approach i.e. Scrum.

  Challenges

Existing website of Scrum.org was not equipped with the right technology and strategy to facilitate their growth as an organisation. A redressal was needed to build a modern and future-friendly website. Following aspects were needed to be incorporated:

  • Modern technology
  • Responsive web design
  • Search engine friendliness
  • Scalability
  • Sleek design
  • The unified site-wide value proposition

Moreover, they wanted to:

  • Adhere to the Scrum framework
  • Form a single, inter-organisational team that includes members within their organisation as well as the digital agency who is helping them.
  • Adapt and innovate while figuring out the logistics of the new style of client-agency teamwork
How did it work?

The website of Scrum.org was redesigned using Drupal 8 and it proved rewarding. Drupal 8, proved to be the perfect platform that provides the flexibility and scalability as the site continues to grow. Drupal 8’s out-of-the-box responsive web design features and seamless integrations resulted in the unified and sophisticated site.

Website traffic was an important part of their strategy. Through automated SEO features, not only search engine rankings were improved, but the administrators who are unfamiliar with SEO could still create search-engine friendly pages.

Moreover, the Scrum framework improved the efficacy of the project delivery. Through the formation of Scrum Team in both the organisations with the Product Owner residing inside Scrum.org, Scrum Master located in the digital agency, and the development team present in both the organisations, unprecedented transparency and efficiency was witnessed.

Within a month of starting the project, which is a Sprint in Scrum, Scrum.org had a working homepage.

Conclusion

Project management and continuous delivery are an integral part of business enterprises. Leveraging the best of Scrum framework and Drupal’s robust features, web development can be streamlined to a great extent.

We provide Drupal development services with that being our strong suit and have been doing this since our birth as a company. Drop in a mail at hello@opensenselabs.com to for smart software delivery using Drupal and Scrum framework.

blog banner blog image Agile development methodology Agile process Project management Drupal development Scrum framework Scrum Blog Type Articles Is it a good read ? On
Checked
4 weeks 1 day ago
Drupal.org - aggregated feeds in category Planet Drupal
Subscribe to Drupal Planet feed