emGee Software Solutions Custom Database Applications

Share this

Drupal CMS

Drupal.org blog: What’s new on Drupal.org? - December 2017

Drupal.org aggregator - Fri, 01/05/2018 - 13:59

Read our Roadmap to understand how this work falls into priorities set by the Drupal Association with direction and collaboration from the Board and community.

Announcements DrupalCon License program launched

In 2018, the Drupal Association made the difficult decision to pause DrupalCon Europe for the year, so that we could re-envision the program for greater scalability and sustainability. We're pleased to announce that we have launched a new program for licensing DrupalCon, so that local entities can bring this great event to their area. Read the announcement by Executive Director Megan Sanicki for more information.

Analysis of Developer Tooling options published

For more than a year, the Drupal Association has been evaluating options for improving the tooling used by developers on Drupal.org. We have recently concluded our study, and published a detailed analysis of the options, as well as our next steps. As expected, this blog series has sparked ongoing conversations about the future of our tools both among the community and with our potential partners - so look out for more updates.

Drupal.org Updates Easier management of Drupal Association Membership

In December we worked on updates to membership management, so that Drupal Association members will be able to manage their membership information.

New DA Membership Directories launched

Last month we mentioned the launch of the new individual member directory on Drupal.org. In December we expanded on this work to update our directory of organization members as well. You can explore the directory of Drupal Association members here, as well as the new directory of organization members. If you have feedback on either of these directories, please let us know!

Akismet for spam protection

The content analysis tool Mollom is rapidly approaching its end of life. And so to continue to protect the Drupal community from spam, we have implemented Akismet on Drupal.org. We are currently running it in silent mode, side-by-side with Mollom and our other protection methods, to ensure a smooth transition.

DrupalCI: Chrome Webdriver available for JS testing

One of the major services provided by the Drupal Association is continuous integration testing for the Drupal project. An increasingly important component of this is our javascript testing stack. Previously we tested javascript for the project using PhantomJS. However, that library is now deprecated. We have since created a new testing environment running Chrome Webdriver, and are working with core and contrib developers to ensure it meets their needs.

Drupal.org Updates Mitigating the risks of Spectre and Meltdown

By now everyone in the technology industry is likely aware of Meltdown and Spectre, the two major security vulnerabilities recently disclosed in major CPU architectures. Drupal Association staff are in close coordination with our infrastructure partners at Tag1Consulting, to ensure that any vulnerable machines in our infrastructure are protected as soon as possible, and our community's data is kept safe. ——— As always, we’d like to say thanks to all the volunteers who work with us, and to the Drupal Association Supporters, who make it possible for us to work on these projects. In particular we want to thank:

If you would like to support our work as an individual or an organization, consider becoming a member of the Drupal Association. Follow us on Twitter for regular updates: @drupal_org, @drupal_infra

Categories: Drupal CMS

Lullabot: The Paradox of Tolerance

Drupal.org aggregator - Fri, 01/05/2018 - 11:46
This episode explores the "paradox of tolerance," and what it means for free software communities, business, conference organizing, and our daily interactions. Learn more at https://hackingculture.org/episode/12.
Categories: Drupal CMS

The Paradox of Tolerance

Lullabot - Fri, 01/05/2018 - 11:46
This episode explores the "paradox of tolerance," and what it means for free software communities, business, conference organizing, and our daily interactions. Learn more at https://hackingculture.org/episode/12.
Categories: Drupal CMS

Matt Glaman: Noindex WTF

Drupal.org aggregator - Fri, 01/05/2018 - 07:00
Noindex WTF mglaman Fri, 01/05/2018 - 09:00 On a client project, we wanted to prevent search engines from accessing pages on the site. It needed to be directly linked to from some various sources, public, but not queryable. So we did the reasonable thing. We modified our robots.txt and added our metatags. Unfortunately, this didn't seem to work as we would expect and pages still showed up in Google searches.
Categories: Drupal CMS

Valuebound: A beginners guide to Performance optimization in Drupal 8

Drupal.org aggregator - Fri, 01/05/2018 - 05:30

Web performance is an important factor to consider when developing a website because user experience and usability are dependent on the speed of page loads. Not to mention, web giants like Google, Yahoo, Amazon, and eBay are obsessed with it. And there are numerous ways you can boost site performance. 
In Drupal 8, there are specific tools and modules to optimize the site performance. 

To begin with, Caching is a popular technique to optimize the website. It is a process that stores web data (HTML, CSS, Image) in some accessible space. For instance, when a user request for a web page for the first time it stores readable content or information in the cache memory and…

Categories: Drupal CMS

Colorfield: Migrate a Drupal site with CiviCRM from a custom LAMP environment to Virtualmin (1/2)

Drupal.org aggregator - Fri, 01/05/2018 - 03:13
Migrate a Drupal site with CiviCRM from a custom LAMP environment to Virtualmin (1/2) christophe Fri, 05/01/2018 - 12:13 This post goes a bit against the mainstream, with one purpose in mind: for a low budget, leave a custom LAMP server provisioning for a well maintained LAMP stack that comes with a smart GUI and helpers for common sysadmin tasks like: several versions of PHP, a php.ini for each virtual host, backup system, internal monitoring, Let's Encrypt ready. We will use a Drupal 7.x website with CiviCRM 4.6.x LTS as an example.
Categories: Drupal CMS

Breathtaking sweet memories expressed on this Valentine’s Day as a token of love

Drupal News - Thu, 01/04/2018 - 22:04

Flowers are the best friend of a human being who is gifted on every occasion with exotic floras and this creates the advent of a new era of love. This day was previously banned in Indonesia as a “Forbidden Day” and not a single person was allowed to roam around the streets with their partners. In the modern society flowers are gifted with a smile and every receiver receives various variants of flowers like, Daisies, Lilies, Chrysanthemums, Orchids and Roses that casts a spell. Majority of people Send Valentine’s Day Flowers to Indonesia by delivering the sweet message of love.


Categories: Drupal CMS

Agiledrop.com Blog: AGILEDROP: Top Drupal blog post from December

Drupal.org aggregator - Thu, 01/04/2018 - 17:02
The most magical month of the year has ended. It didn't just bring us gifts but great Drupal blog posts as well. Let’s see which one we liked the most.   First one on the list is GraphQL for Drupalers - The fields by Blazej Owczarczyk  from Amazee Labs. It is the third article in the series of blog posts about GraphQl. This one talks about the fields, what exactly are they, and explains how do Drupal fields become GraphQL fields. Blazej also shows us different groups of Drupal fields with examples.    We continue our list with our second choice is Why now is the right time to move to… READ MORE
Categories: Drupal CMS

Drupal @ Penn State: Webcomponent all the things, all the places! Increase D8 adoption.

Drupal.org aggregator - Thu, 01/04/2018 - 15:14

Over on the ELMS:LN team, we’ve been busy every place not Drupal (huh what?) lately. We have barely been touching Drupal and couldn’t be happier (…huh?). In fact, we’re busy these days encouraging people to not focus on Drupal, at all (so this is on planet then why…).

Categories: Drupal CMS

Issue 320

TheWeeklyDrop - Thu, 01/04/2018 - 13:22
Issue 320 - January, 4th 2018
Categories: Drupal CMS

Jacob Rockowitz: Webform, Drupal, and Open Source...Where are we going?

Drupal.org aggregator - Thu, 01/04/2018 - 11:12

Tagged the first release candidate on Christmas Day

On the one year anniversary of the first beta release of the Webform module for Drupal 8, I tagged the first release candidate. The most significant aspect of moving the Webform module into the release candidate phase is the stabilization of key APIs and plugins. Moving forward, most new features that are not tightly coupled to the Webform module's core functionality will be developed in dedicated experimental or contrib modules.

What’s next?

My first goal is to start focusing on the recording of Webform-related training materials and my upcoming presentations at Drupal Camps and conferences. I also want to encourage and help more people get involved and contribute to the Webform module and Drupal.

Contributing to the Webform module and Drupal

People are continually commenting on my dedication to the Webform module. As such, I think it’s important to explain why I am so committed to the success of the Webform module and Drupal. The two most important factors that have allowed me to contribute so much time to the Webform module are as follows: I have the time available and I have a desire to improve my professional profile. I’m fortunate to have steady and reliable consulting income. For many years, I was a passive member of the Drupal community. But then my schedule freed up a bit, and I found that I had some extra time on my hands, so I decided to experiment and see what would happen if I fully committed myself to an open source project.

What I learned about maintaining an open source project

The role of being an open source project maintainer is daunting. I was surprised to learn that I am doing 95% of the...Read More

Categories: Drupal CMS

OSTraining: Select Embeddable Media Assets in Drupal 8 with Entity Browser

Drupal.org aggregator - Thu, 01/04/2018 - 06:25

If you already learned how to embed a media asset into CKEditor in this tutorial, you’d probably noticed that the media asset selection occurs through an autocomplete field.

This is not really a good experience for an editor. Nobody remembers every single name of every single asset to embed. There are quite a few modules in Drupal 8, which can help you enjoy your browsing task. 

In this tutorial, you’re going to learn how to configure the Entity Browser Module, in order to select Media assets and embed them in your text editor.

Categories: Drupal CMS

Evolving Web: Sidr Module for Drupal: Responsive Menus and Regions

Drupal.org aggregator - Thu, 01/04/2018 - 06:19

In the last few projects I've worked on at Evolving Web, we've come across a common requirement: having a collapsible section of the site on mobile devices containing the site's logo, a menu and other Drupal blocks. The Responsive Menus module is quite popular, but it only works with menu blocks - no logo, no custom text. Since we couldn't find any contrib module to solve the problem, we wrote some custom JavaScript to integrate a JavaScript plugin called Sidr, which inspired me to write a Sidr integration module for Drupal. In this article, we will discuss how the module works and how you can get it working in your next project.

Here's a screenshot from a quick demo site I prepared. You click on the hamburger menu, and the black sidr region appears on the left. You click it again and the region slides back out.

A quick demo with a Sidr panel in Drupal with the Dark theme

Installing the Sidr module and libraries

To install the module, we must install the module files and then the Sidr libraries.

  • Download the Sidr module into the modules or modules/contrib directory in your Drupal project and install the module
  • Install the Sidr libraries
    • Download the version of Sidr recommended in the module's README file, which at the time of writing this article is Sidr 2.2.1
    • Once downloaded, copy the dist directory in the Sidr project to the libraries directory in your Drupal project and rename it to sidr
    • At this point, there should be valid JavaScript file at DRUPAL/libraries/sidr/jquery.sidr.js and the Drupal status report page should show the Sidr libraries as Installed

Sidr library status

  • Configure the Sidr theme from the admin/config/media/sidr page. Here's some quick info about the themes:
    • The dark (default) and the light themes are provided by Sidr.
    • Typically, for a project with a custom look and feel, you'll use the bare theme. This provides minimal CSS, allowing you to style the .sidr element and its children in your theme. Yeah!

Sidr global settings

Congratulations! You now have the module installed. All that's left now is a bit of configuration.

Configure collapsible content

Depending on the project requirements, you might have one or more sidr instances. For this article, let's say you want a sliding panel on the left with the following contents:

  • Site logo (the site branding block).
  • The main menu (the main menu block).

We can achieve this using two different approaches:

With a custom region (recommended)

Create a custom region named, say, Drawer (Left) in your theme where you can place whatever blocks you want to show in your Sidr. We will then configure the Sidr plugin to use the contents of this region to populate the collapsible panel (discussed below).

Note: Make sure you hide this region using CSS because Sidr will copy the contents of the region in to a div.sidr element during its initialization.

Without a custom region

If all your blocks are already present on your page, you can use multiple jQuery selectors in the Source configuration for the Sidr trigger block (discussed below) and the Sidr plugin will copy the contents of those elements and put them in the Sidr. Sidr will not copy the elements for the jQuery selector, but all of their children. This is the reason why I prefer to use a custom region. Using the above-mentioned custom region approach, you can preserve wrapper elements which give you nice CSS selectors for theming your Sidr.

Configure a trigger button

Now that we have set up the contents for the collapsible region, we are ready to create a Sidr trigger block. This trigger block will provide a button to open and close the Sidr panel. To do this,

  • Go to the Block management admin/structure/block page.
  • Click the Place block button for the region where you want to place the trigger button (usually somewhere in the header).
  • Choose the Sidr trigger block, configure it and save it. Some of the configuration options have been discussed below.

Sidr trigger settings

Trigger text and icon

The trigger text is the text which is displayed on the Sidr trigger button. You can also enter some custom HTML in the Advanced settings > Trigger icon field to configure an icon, say, a hamburger icon or an .

Note: It is compulsory to have either a trigger text or a trigger icon. You can also have both if you want.


The source is from where the Sidr panel will be populated. It can be one of the following:

  • A jQuery selector: If you provide a jQuery selector, the inner HTML of the selected elements will be copied into the relevant Sidr panel. You might be interested in the renaming option which makes Sidr rename the ID attributes of the copied elements to avoid getting repeated DOM IDs. Here are some examples:
    • Using a custom region, source should look like .region-drawer-left or .region-drawer-right or whatever you name your custom region.
    • Without a custom region, you will have to refer to various blocks like #block-site-branding, #block-main-menu, #block-copyright-notice.
  • A URL: If source is a URL, the content on the URL will be fetched via AJAX and displayed in the Sidr panel.
  • A callback: You can even provide a JavaScript function as the source, in which case, the contents returned by the callable will be used to populate the Sidr panel. If you do not like the idea of copied elements provided by the jQuery selector option above, a callback might give you more flexibility.

Most of the Advanced settings are optional and you can learn about them by reading the Sidr documentation. Once you have configured everything, all you'll be missing is some custom styling to bring your Sidr to life.

Feel free to leave comments about problems you face and any suggestions you might have. You might want to read the Sidr module's project page and issue queue for the latest updates.

+ more awesome articles by Evolving Web
Categories: Drupal CMS

Appnovation Technologies: Dans la Rue and Appnovation: Helping the Homeless

Drupal.org aggregator - Thu, 01/04/2018 - 00:00
Dans la Rue and Appnovation: Helping the Homeless Dans la rue is a Montreal-based organization dedicated to helping homeless and at-risk youth. Dans la rue cares for the immediate needs of youth and helps equip them with the skills and resources they need to lead more autonomous and rewarding lives. Appnovation worked with Dans la rue to build a French and English Volunteer Appli...
Categories: Drupal CMS

LevelTen Interactive: Managing your DrupalVM Environment: Vagrant Plugins and SED Scripts

Drupal.org aggregator - Wed, 01/03/2018 - 22:00


In our last post, we talked about how great DrupalVM is by providing Drupal developers a robust development environment that can be used with multiple types of applications. And while the installation process is fairly straightforward, it can take some trial and error in updating your config.yml file for the perfect hosting environment. Are you managing multiple virtual machines for multiple client projects? This can take up a significant amount of space on your computer’s resources (RAM and hard drive space). This post will walk you through how we addressed some of these...Read more
Categories: Drupal CMS

Get Bus Booking API By Go Processing To Start Your Own Travel Business

Drupal News - Wed, 01/03/2018 - 21:32

Integrate bus booking API served through Go Processing; it is very useful for both B2B and B2C platform. It provides all information regarding inventory, company, agents, suppliers, booking, payment, etc.Integrate bus booking API served through Go Processing; it is very useful for both B2B and B2C platform. It provides all information regarding inventory, company, agents, suppliers, booking, payment, etc.

Categories: Drupal CMS

Drupal Association blog: A new tab on Drupal.org user profiles

Drupal.org aggregator - Wed, 01/03/2018 - 13:42

Drupal Association programs and staff are sustained by you through memberships, partnerships, and donations. After 10 years, our system to collect funds for memberships and donations is changing. You'll now see a new tab on your user profile to access membership and donation giving history. This change will make managing donations more transparent and more cost-effective through decreasing some time spent on operations. We're also making some changes on the back-end to reduce the Drupal Association's PCI scope and to make membership easier to maintain.

What's changing

Payments will continued to be processed via Authorize.net (USD) and PayPal (EUR) and the PCI compliant forms will be hosted by Chargify. We chose Chargify in an effort to cut down on the amount of staff time needed to manage memberships. We're using Drupal's ability to integrate with third party tech to integrate with a payment processor solution. We'll be building the membership management tools right into your Drupal.org profiles.

Screenshot of Drupal Association Membership tab on user profile shows donation button on the page

We're rolling the new system out first with the Drupal Association Donation page and the membership pages will follow. If you are in the holiday spirit and you want to make a donation, do it from the new tab in your your user profile. Thanks for your support.

Changing the signup experience for the better

The experience signing up for membership through Chargify will be very similar to the current one, but now when you are invited to renew membership, you'll be able to manage your type of renewal— including starting or stopping auto-renewal, changing amount of payment, or canceling membership. Before this system, you'd have to contact us for help or wait for annual renewal emails to guide you to make changes.

Screenshot of user profile that will show Individual Membership details

After we've migrated member and donor giving history into the new system, you'll see more information on your user profile in the Drupal Association Member tab, including past gift dates and amounts. You'll be able to begin managing your membership renewals as soon as the migration is done. We hope these changes make your membership renewal experience better.

If you are interested in helping us test before the final updates are made, contact me and we'll walk through a test together. To provide feedback on the changes, please leave your thoughts on #2934492: Implement Chargify for memberships.

Thanks to Neil Drumm and Tim Lehnen for helping to get this work done, and thank you to everyone who continues funding our work through membership and donations.

Categories: Drupal CMS

VR Art: Tools & Examples

Lullabot - Wed, 01/03/2018 - 09:44

While a lot of investment has gone into making games for virtual reality, it’s the creative apps that really catch my attention and keep me coming back for more. Painting, drawing, world building, sculpting, and 3D modeling are all new again, and this time they’re in true three-dimensions, not just on flat screens. These tools are why I believe that VR is not just an entertainment medium, but a productivity tool that is here to stay. It is quickly becoming the go-to tool for many artists, traditional and digital alike.

Sketching & Painting

The evolution of the pencil and paintbrush are upon us, with new versatile tools that grant a new level of creative freedom. Not only can we change colors and draw in the air around us, but we can also change textures, scale, push, pull, undo, select strokes and replicate them with ease. Here are a couple of the most popular tools that are pushing the boundaries of what it means to create digital masterpieces in virtual reality.

Tilt Brush by Google undefined

One of the very first creative apps on the market, its team was quickly purchased by Google. There, it has flourished with the addition of many new and useful features. Tilt Brush is the creme-de-la-creme of creative VR apps; you can paint with various types of brushes such as light, fire, and stars. It also has integration with Blocks by Google (more below) for even greater freedom of expression. The Tilt Brush team values creative expression over accuracy and allows you to sketch your ideas quickly, but still create detailed works of art by spending more time on them. I've used this for mind maps, as well as more artistic pieces. I've spent over 120 hours with this tool, and it's become an integral part of my process, as well as one of the first things I demo to newcomers looking to be wowed by VR. And I never get tired of experiencing other people's amazing creations which you can browse at https://vr.google.com/sketches/

Examples of Tilt Brush Works of Art


There is even a music video created entirely with Tilt Brush!

Videos require iframe browser support. Quill by Oculus undefined

This app is similar to Tilt Brush in that it allows you the creative and artistic freedom that comes with painting on a blank canvas, but differs in that it is entirely shadeless. That is, the environment lighting does not shade your strokes the way most brushes are within Tilt Brush. The tools vary greatly and lend themselves towards a particular aesthetic. Another difference is that you can scale to a much greater degree in Quill, as the video below illustrates. I’ve spent many an hour in Quill trying to learn the techniques for coloring, using layers, and pushing my strokes around with the nudge tool. I’d say this has a little bit higher learning curve than Tilt Brush, but the artists who are producing with this tool are publishing some gorgeous work. You can find more on Sketchfab under the quill tag, here: https://sketchfab.com/tags/quill

Examples of Quillustrations

undefinedundefinedundefinedVideos require iframe browser support. Worlds in Worlds by Goro Fujita

Sculpting with Digital Clay

If clay is more your thing, there are a few tools that allow you to pinch, pull, rotate, smooth, cut, copy, stamp, and scale with this medium as well. Digital clay gives you all of the tools you’re familiar with, without the mess to clean up! Though, since you can’t “touch” the clay with your hands — a visceral part of sculpting — most tools are more like airbrushes that allow you to do things like smoothing. Artists are producing astounding works of art by sculpting in virtual reality. Here are a couple of the most popular ones exploring this avenue of creation.

Medium by Oculus undefined

Medium was one of the first sculpting apps on the market. Created by Oculus, a company owned by Facebook, the application is tightly integrated with the Oculus Rift. As such, this is only available for the Rift. You can use it on a Vive by installing Revive, a compatibility layer for Oculus apps. Medium allows you to place clay in the air around you and then sculpt and paint it with various tools. You can change the material of the clay as well, to make it look like metal for example; you can place clay on different layers and manipulate each layer independently of one another. You can even collaborate with other people using its multi-user capabilities. Once you’re happy with your creation, you can even export it into standard formats to print out on a 3D printer. Take a look at some of these excellent works of art being produced with Medium.

Examples of Medium Sculptures

undefinedundefinedundefinedundefinedundefined MasterpieceVR undefined

This is an amazing tool that is cross functional, allowing you to do volumetric sculpting as well as sketching and painting with brush strokes. It basically combines aspects of Tilt Brush and Medium into one tool, which is powerful. It’s also multi-user to boot. Beyond the combined features of these tools, you can find in its interface both a desktop viewer and it’s own browser, either of which you can place in your space to keep up on notifications, browse the 2D web, or find reference images for your art. Now If I could just import Blocks models…

Examples of MasterpieceVR Creations

undefinedundefinedundefinedundefined 3D Modeling

In my humble opinion, this is one of the most exciting promises of virtual reality. Modeling three-dimensional objects on two-dimensional screens has always felt like a stop-gap measure to me, and VR brings out the potential of this medium in a very profound way. Grabbing parts of your model and manipulating them with your hands gives you a more natural perspective while creating. It just feels… right.

Blocks by Google undefined

As a former 3D modeler first getting into VR, I knew the potential of modeling in a truly three-dimensional space was huge. A few developers started creating some VR apps with this specific goal, but none of them have come close to the simplicity and power that editing vertices, edges, and planes that Blocks gives you.

I immediately became addicted to Blocks because it lets me be extremely productive in a short amount of time. It’s also very easy to upload and share your models through the associated Poly website.

This tool effectively open-sources 3D modeling, commoditizing low-poly models. When you share and make them “remixable” you’re giving your models a CC-BY license. This has also had the effect of creating a community of people who share and remix each other’s models. Some members have started to create collections of primitive parts or “Kits” with themes (like #MonsterBlocks and #MedievalBlocks) and even have competitions for using those 3D parts in your own mix-ups.

Examples of Blocks Models


Since Blocks can also be imported into Tilt Brush and then drawn upon further, here’s a great example of what that looks like as well.

undefined Gravity Sketch VR undefined

These guys were on the market pretty early with an alpha demo—if you could get your hands on it. It’s a powerful 3D modeling application geared towards professional use, resulting in an interesting approach to its UX and tools. The learning curve is less than traditional modeling applications, and the tools allow you extreme flexibility with your shapes since it allows you to create curved surfaces instead of only flat planes. Gravity Sketch also has a iOS companion app. I haven’t used that one at all, so I’d love to hear from you if you have.

Examples of Gravity Sketch VR Models


There are many more tools that artists are using; these are just a few of the most popular ones. These applications impress upon me how virtual reality is changing the way we work and create for our ever-expanding digital medium. We live in some exciting times, and I am glad to be able to experience them. Do you have any favorite creative VR apps or artwork that impress you? Let us know in the comments!

If you’d like to keep up with VR developments at Lullabot, please check out http://vr.lullabot.com/

Categories: Drupal CMS

Tandem's Drupal Blog: Lando Share ~ Sharing is Caring

Drupal.org aggregator - Tue, 01/02/2018 - 16:00
January 03, 2018 Use the `lando share` command to expose a URL of your local Lando site. For example to view it on actual mobile devices for browser testing before you release it to the world! Why? We all know the amount of work it takes to get a site working and looking great across all browsers and screen sizes. The struggle is real. Pushing t...
Categories: Drupal CMS

Roy Scholten: One to many or one to one, an example of a Drupal UX design decision

Drupal.org aggregator - Tue, 01/02/2018 - 14:57
02 Jan 2018 One to many or one to one, an example of a Drupal UX design decision

Short recap of an interesting discussion during today’s UX meeting.

About inserting media items from within the WYSIWYG editor. These could be different types of media files, like images, video and audio. You could even have different flavours for the same file type. For example with images, you might want to store different information and metadata on product images than on images used in press releases or for the company blog posts.

The question was how to provide the starting point(s) for this. Of course the goal would be to make this as transparent as possible, reducing the amount of administrative busy work to the required minimum. But, structured content does not yet create itself automatically, we do have to provide forms that present the required fields to fill out when adding a media item.

We discussed two basic approaches

There are likely more and there’s room for subtle variations inside these two as well.

Option 1: start with a single button to add media

  1. Click 1 generic “add media” button in the WYSIWYG editor that launches a media upload form
  2. Upload the media (image, video, audio, …) you want and save
  3. Figure out the media file type and present the corresponding form with the required (meta)data fields in a second step
  4. Save and return to the editor
Option 2: choose from multiple buttons to add a specific media item

  1. Find and click the add button for the media you want to create. There would be separate buttons for inserting an image, a video, an audio item
  2. Because the type is known we can directly show the form for the required (meta)data.
  3. Save and return to the editor.

(Although this list only goes to 3 instead of 4, there is a bit more work for the user to do in step 1: finding the right media button to click)

After a bit of back and forth we chose option 2, because:

  • A one-on-one relationship between WYSIWYG button and media type to create is easier to understand
  • The upload process can be contained within 1 step because the system knows upfront which form to show for the required info.
  • With this one-to-one relationship, per media type permissions can be handled more elegantly (you either have a audio upload button or you don’t)

The trade-offs are:

  • it’s not super elegant to require the user to do the upfront work of explicitly choosing the type of media to create.
  • With multiple types of media available we’ll have to see how to expose all those different options in the WYSIWYG editor toolbar.
Tags drupal drupalplanet
Categories: Drupal CMS