This gonna be short and sweet.
If you need/want the Drupal Update Manager to work through SSH then you need to install the “libssh2-php” php package on your Ubuntu server. You know the Update Manager; it’s the admin interface when you install a module or theme, or more importantly if you are doing system-wide updates.
Unless you have a very specific reason, you do not want to run an FTP server on your Ubuntu server. Especially, when you have alternatives like SFTP and SCP for transferring files and they are based on SSH.
Now to enable the SSH option on the Update Manager page, you need to install the “libssh2-php” package and reload your apache server.apt-get install libssh2-php service apache2 reload
Well, that being said, using Drush would be a better choice for these operations but there might be times where you need this.
Filed under: Drupal, Php 5.5, Ubuntu Tagged: Drupal Planet, libssh2-php, SSH, Update Manager
Many websites want to allow users to submit videos, audio files, documents and the like.
However, if those files are stored on other sites, it can be difficult to display that content consistently. For example, if you allow people to submit YouTube videos, there are multiple different types of embed code.
One of our members wanted to allow users to submit Google docs that would automatically be shown inside iframes.
The solution to all these problems is the "Custom Formatters" module. Here's how to use Custom Formatters:
In this screencast, I will show you how you can leverage the semantic power of the OSF Search endpoint into Drupal using OSF for Drupal. You will see how you can configure the OSF SearchAPI module, how you can turn any property into a filtering facet and how you can display the facets into blocks.
Then I will briefly show you how you can create new search results templates and how the template selection works using type inference.
Finally I will show you how you can enable and disable inference in the search feature, and how you can leverage the semantic structure of your data to change the relevancy of the search results returned. You have all the leisure to boost different characteristics of your data to return more relevant results to your users.
At one time or another, most Drupal developers have worked on a site with one or more Webforms that used a select list that pertained to some other entity on the site (such as a store location, law firm practice area, etc). And especially on sites with multiple forms, site administrators sometimes forget to update one of the lists.
The Webform Options by Bundle module fixes that for you. Webform has an feature on select lists for you to populate the options from a pre-built list such as countries or days of the week. This module uses a hook in Webform to let you populate the options with the labels of your entities. (Just to be clear, nodes are also entities. "Content Types" are bundles for the Node entity type. "Title" is the "label" for a Node entity.)
After downloading and installing the module, you first need to tell it what bundles to expose to Webform. This is very important. You do not want to use a bundle that has thousands of nodes. That would not be a good idea. So don't be that guy that tries to add 1,000,000 Article nodes to a select list.
Once you've done that, you can setup a Webform with a select list. All you have to do is tell it which bundle you want to use. For example, if you had your store locations as "Location" nodes, you'd select "Node: Location".
By the way, because the module populates the list using EntityFieldQuery and checking user access to each entity, your users will only see the entities that they have permission to view when they go to fill out the form.
For my Blocks & Layouts presentation at our local Drupal Austria Meetup, Drupal Dev Days Szeged & recently at DrupalCamp Donetsk, I have reached out to the community to gather some data. 60 participants provided their input on favorite Drupal 7 layout tools and what they expect from Drupal 8. It's time to share the results:Which approaches are you using for realizing layouts in Drupal 7? This is my favorite blocks & layouts related module What are you most excited about or wish for Drupal 8
I have posted some further thoughts on Blocks & Layouts in D8 at my Drupal Dev Days Szeged wrap-up, and will cross-post a link to the survey results on the g.d.o survey post. Also check out my slides, download the raw survey data and let us hear your thoughts.
Page Tables are a powerful UX tool. They serve as the key step between discovery and design. They define the business goals, target audiences, and content elements on a more granular level for all template pages.
At Chapter Three, we define template pages as marketing landing pages plus all pages that require structure - specifically pages that define content types or list views in Drupal. On an average project I'll create page tables for at least 10 - 15 pages and supplement the remaining templates with a functionality spec which defines the elements of the page.Page Tables for Drupal
The term Page Table has more than one definition in the tech space and can cause confusion. Even in the field of Content Strategy, I approach Page Tables slightly differently than some. I've adapted the core of the concept to map directly to how we think about structuring our content. This is more useful for a CMS like Drupal where you can configure the site to support your marketing objectives by providing structure where necessary, and leaving room for flexibility where needed.Where they fit
I create Page Tables with my clients after I've defined the project goals, user personas, and key user tasks. Page Tables segway straight into wireframes and I often draw paper wireframes in our Page Table working sessions.Page Table Fields
The fields I define on a Page Table are as follows (credit to Steve Fischer for sharing this with me):
- Page (or template) Title
- Page Goals (Business Goals)
- Primary Audience
- Secondary Audience
- Content Elements (buckets/chunks)
- Calls to Action
- Message Focus
- Mobile Priority
Below is an example of how I fill out these fields. I'll use the Chapter Three website for illustration purposes. The following shows our the Page Table for our new Services section.How to use them
Work with your clients to define the elements shown above. This artifact will outline and prioritize the necessary ingredients for your wireframes. Feel free to copy and adapt what you see here for your own projects.
If you're pressed for time on this step, focus your energy on defining the page goals and content elements. As the two critical building blocks, these will give you the most information for your design thinking.Share your thoughts
Let me know if you approach things differently.
Yes, all of the attention is on Drupal 8. D8, will be amazing! It totally makes sense that when folks talk about Core development that they think about the latest version. Sometimes though it seems that we forget that there are two stable releases with hundreds of thousands of sites using them for every development version of Core. If this proposal gets accepted, which I think it will, there will 3 supported releases of Core for a few months when the Drupal 9 branch is started.
So we know when Drupal 8 is released that there will still be 3-4 years where we are going to be working with Drupal 7 sites.
The whole development process of Core demands that for a bug to be fixed in a stable version of Core, it has to be first fixed in the development version, as per the Backport Policy. This ensures that the bugs identified in a current stable release are fixed in the development version and then brought back to the stable releases.
Unfortunately, it seems that the community has forgotten to check back and ensure those bugs are fixed in the stable releases. In a check I did earlier today it showed that there were nearly 250 open issues which are fixed in Drupal 8 and ready to be backported to Drupal 7. There are a lot more that haven't been fixed yet in D8 but will be added here when they are. Of those, the vast majority are bugs. Looking at the Priority Levels there are 8 bugs listed as critical and 25 bugs listed as major, but when there are more than 800k sites using it, that's very signifiant.
This really should be seen as good news though. This is a great way to get people involved in Core development who haven't been before. There's a way faster return on all of these bugs, than any of them in Drupal 8, because you will be able to use the fixes now with live sites. Plus, we've already got a model to emulate that we know works. Also, this is a great opportunity to get to know better a tool that you use every day.
So if you aren't already a Core contributor, here's a great time to start. Patches need to be reviewed, improved, and ported. When they are properly reviewed, they will be marked Reviewed and tested by the community (RTBC) and hopefully brought into an upcoming maintenance or security release.Topic:
After all the relevations of Snowden last year, I’ve been wanting to be more security focused. A small but obvious change is providing this blog over HTTPS. Disqus powers the comments, and if you login via Disqus I’d like to protect my visitors session cookies or authentication information. I felt so proud to have setup a CDN powered, encrypted blog.
Unfortunately, I discovered that RSS feed aggregators and validators are incompatible with HTTPS. Based on my experience, it seems that the Drupal.org aggregators that power the illustrious Planet Drupal also fail in the face of HTTPS.Oh, Behave - a CloudFront workaround with Behaviors
If you’re using CloudFront, it’s actually very simple to serve your feeds over HTTP and redirect everything else to HTTPS. Let’s assume you already direct all your traffic to HTTPS. Here’s how to add an exception:
- Open CloudFront in Web Console
- Edit the Distribution
- Click on “Behaviors”
- Add a new behavior, setting the following settings:
- Path Pattern - setup a regex that matches your RSS feeds. I set all my RSS feeds as feed.xml, so for me this value was "*/feed.xml"
- Origin - choose your existing Origin from the dropdown list
- Viewer Protocol Policy - use the default setting here (this setting is the important one)
- Save it!
Once your distribution finishes updating the edge servers, you should be able to access your feed over HTTP (and HTTPS), but everything else should redirect to HTTPS. Tada!Why Would RSS Aggregators Not Be HTTPS Compatible?
Dave Winer, one of the creators of feedvalidator.org, writes that switching the aggregator to HTTPS has a huge potential downside of losing parts of your audience with software that doesn’t support HTTPS.
Furthermore, he writes:
… All aggregators will support HTTPS if enough developers of feeds require it.
If it should turn out that way, … I’ll do it. And I’ll be pissed because it’s time I’d rather spend doing something creative. … I can’t see for the life of me why you need to push RSS over a secure connection. :-)
(See blog post Dec 3, 2012).Dave has a point
It does seem unnecessary, actually, to encrypt connections between RSS feeds and aggregators. If the feed is meant to be public, then hopefully no sensitive information is being transmitted in the feed. Also, I hate the drudgery of meaningless work and would be loathe to impose it on anyone else.Maybe we should do it anyway.
Since December 2012, the new HSTS HTTP headers have taken hold in browser-land. These headers allow servers to instruct browsers to only access the server over HTTPS for a certain period of time. It’s like a cache TTL.
HSTS headers are designed to prevent certain kinds of man-in-the-middle attacks. If a website is following the best practice of using HSTS headers in response to the pervasive threat that the NSA, GCHQ, China, Russia, and roving bands of hackers, then that site won’t be able to syndicate a feed from the HSTS domain.
Finally, what about private RSS feeds? Shouldn’t we be able to leverage run of the mill aggregators for use cases such as for UPS package delivery? What about notification from the government that our new passport has been approved and will be shipped Monday? I can also imagine private feeds from Etrade notifying customers that an automated transaction occurred. The possibilities for private feeds are really endless, especially once one starts considering the coming Internet of Things.
Panels allows you to easily create custom layouts for your content and your landing pages. Without writing a line of code, you can use drag-and-drop tools to rebuild your pages.
In these videos from our Panels training class, we're going to show you how to redesign your site's homepage using Panels. We'll also see how to create different homepages for guests and logged-in users.
Pacific Aikido is an English-language Aikido dojo operating at various schools within Tokyo. The site has been built with two goals in mind. The first is to provide some information about Pacific Aikido to potential students, and the other is to provide a platform on which the owner can communicate directly with his students and their parents. Therefore there are two sides to the site, the outward facing public site, and a private back-end for current and existing students/parents, requiring a login to access.Key modules/theme/distribution used: Organic groupsCalendarAdvanced CSS/JS AggregationProfile2Organizations involved: JaypanTeam members: Jaypan
Has your CMS kept up with your changing audience and evolving business needs? In this presentation, Paul McKibben will describe several warning signs that you have outgrown your CMS.
- Are you jumping through hoops because your CMS editorial workflow has not changed with your business?
- Can your site adequately serve your increasing mobile audience?
From poor end user experience to lack of digital marketing support, understanding your current issues and knowing the capabilities of today’s CMSes will help you make a case for updating your CMS. And if you aren’t encountering issues now, this presentation will also offer strategies for keeping your CMS current so you do not prematurely face a major upgrade.
Rootwork.org: Join me at the Devsigner conference in Portland this May: Designers and developers join forces!
Devsigner is celebrating the cross-overs, the multi-disciplinarians, the coders who paint and the designers who send pull requests — and those who want to develop some new left-right brain skills.
We’re looking for folks to break out of their familiar meetup silos and apply their knowledge across the crafts of development and design.
- responsive web development for graphic designers
- color theory for coders
- industrial design for web apps
- why bad user experience is a bug
- what web technologies can learn from analog design
- iterative design in open-source communities
- your great idea — submit a session now!
- Traditional presentations (45-60 minutes)
- Panel and roundtable discussions (45-60 minutes)
- Hands-on, deep-dive workshops (2 hours Friday, 3 hours Saturday and Sunday)
- Lightning talks on Saturday night (more information to come)
We’re also kicking off the event with a keynote presentation from a surprise guest!Who should attend?
- graphic designers who want to hone their web design chops
- developers who want to the beauty of their projects to match the beauty of their code
- artists who are tired of ugly or unusable websites
- branding experts who want to tell developers a story about the cobbler’s children
- Sass/Puppet/Angular/Grunt/Node evangelists who want to spread the good word
I hope to see you there!
Drupal core announcements: User Facing Accessibility Improvements in Core (Part 1 of D8 A11y Update)
Drupal 7 still remains the most accessible open source CMS available. The changes that the community began implementing in 2008 to improve accessibility for the entire user interface (public, content editor, administrator and developer) has still not been matched by any other piece of web software (open source or proprietary). By focusing accessibility efforts on improving Core, we are able to fix accessibility problems by default regardless of what themes, or extensions are used in any given implementation.
That being said, Drupal 8 is already considerably better, and not just because we removed Overlay.ARIA and HTM5
One of the big enhancements that will be evident is a broad adoption of HTML5 and Web Accessibility Initiative's Accessible Rich Internet Applications Suite (WAI ARIA). Neither standard was mature enough to bring into Drupal 7, but we are happy to see their adoption in Drupal 8.
With the adoption of TWIG, pretty much all of Drupal’s HTML has been reviewed and brought up to current HTML5 standards. We’ve added DETAILS and replaced many places where FIELDSETS were used inappropriately to expand/collapse form elements. We’ve also added the phone number field type so that tel: links are now properly supported. HTML5 also provided a required element which is adopted in Core. There are other HTML5 attributes which have been added, but these provide the greatest benefits to users of Assistive Technologies.
It was also clear that when we added elements like DETAILS we needed to re-purpose FIELDSETS so that they could be used semantically without adjusting the design of a web form. One of the biggest accessibility problems in Drupal 7 was that we couldn’t effectively manage multi-part forms (radios and checkboxes).
WAI-ARIA provides an opportunity to add a wealth of semantic information to a web page. The simplest addition we made was to adding ARIA Landmarks to Bartik and Seven. We also added ARIA roles to Core blocks,status messages. We added the ARIA attribute aria-invalid to proactively alert screen reader users when there is a problem. We used the ARIA attribute aria-sort for tables to add additional context. We are also automatically adding aria-describedby links to form elements when they have related descriptions.
One of the biggest steps for ARIA though is the addition of an ARIA Live Announcements API. Simply by centralizing functions like this it will make it so much easier for a consistent, predictable aural experience.Continuing Improvements
Simply by using Drupal 8 you will get so much useful HTML5 and WAI-ARIA from Core. Because these best practices are built into Core, new Drupal 8 themes are going to look at the best practices adopted here and emulate them. Some things, like the font size of PRE is in many ways pretty trivial, but how many times have we found font sizes of particular elements too small to be easily readable.
There has been a whole set of changes to increase the semantics of Core. Everything from using buttons rather than themed links where appropriate to ensuring that we are continuing to use headings properly for list elements and blocks. We’ve also pushed our breadcrumbs to be even more accessible, knowing that they are a critical piece of site navigation. We’ve also seen big improvements in Comments and Book pages.
We didn’t really get an opportunity to look at color contrast in Drupal 7, but are happy to say that we’ve found a number of places where we can enhance Core. From the Toolbar, to the * required red. We’ve added colouring a better description to passwords and also tightened up the consistency in the use of colors especially on the admin side.
I do find it really amazing how much work has gone into properly removing the CSS display: none; properly in Drupal. This isn’t a poorly spent effort, and in fact I’m surprised that other CMS’s still haven’t picked up on this. Fortunately the HTML 5 Boilerplate’s CSS did, and even expanded on it to include a fourth class, “invisible”. In an effort to build to broader standards, Drupal has adopted these names: hidden, visually-hidden, visually-hidden.focusable and invisible. But browsers are always changing, so we’ve addressed problems with Firefox, Safari and on the iPhone.
A few other pieces which I expect users will notice, but that they may never know about. We are now using fieldsets on the advanced search form, which is commonly enabled in most Drupal sites. You could always override the output of the aggregator module, but now by default links are presented in context much like other elements which were brought in for Drupal 7. Also, main content links are now underlined by default.Going Big
The adoption of the HTML5 Boilerplate is one example of Proudly Invented Elsewhere, another is doing more to leverage jQuery UI. Although there were big reasons to proceed this, it allowed us to implement an accessible and reusable modal dialog infrastructure for Drupal 8 Core. Having Drupal leverage jQuery UI provided an extra push for the jQuery UI team and also additional resources to help with testing and development. The jQuery team was also able to repurpose our approach to autocomplete, so we could just stop supporting a Drupal specific approach.
Internationalization is really important both for WCAG 2.0 AA as well as for the Drupal Community. As with Drupal 6 and 7, Drupal 8 is making multi-lingual websites even easier. This is very important for most institutions around the world. Making multi-lingual sites accessible is a bit more complicated as you need to embody languages in content and links. We fixed the complication where you could be browsing a node in one language (English) that is embedded in a site which is expressed in another language (French).
Users may see fewer images without alt text because administrators now have the ability to force alt text for uploaded images. This is one step in making Drupal also Authoring Tool Accessibility Guidelines (ATAG) 2.0 compliant. Another big one is Drupal’s new TabbingManager which automatically handles simultaneous tabbing constraints: it stacks them. Drupal 8 needed a way to manage complex tabbing constraints due to advanced features like in-place editing which will provide a big usability advantage.
The next issue will comment specifically on accessibility features which are improving the admin side of Drupal. Given the range of disabilities and the vast number of people using Drupal, it seemed simply ridiculous to exclude people with disabilities from editing, administering and developing with Drupal.
My name is Rachel Friesen and I’m the newest member of the Drupal Association. I’ve been hired on to a Sponsor Fulfillment position, which means I will be working closely with those of you who help the Association through sponsorships and business partnerships.
As part of my work with the Association, I’ll be ensuring that sponsors’ ads are placed, their booth assignments for trade shows are correct, that registration perks are all in order, and that they get the most out of their sponsorships. Previously, I have worked with small businesses, all the way up to large consulting firms, and knew that in a new position I wanted to work with an enthusiastic and engaged community.
I’m so excited to be on board, and can’t wait to get started. I’m impressed by the Association’s enthusiasm for the Project and for serving the community. I’m also continually excited by the passion, commitment, and dedication of the Drupal community to the Project and to each other.
In my free time, I enjoy curling and kickball! I grew up in Indiana, but moved to Portland in my early twenties and fell in love with the city then. After a couple years spent with family back home, I’m thrilled to be back in Portland, and can’t wait to dive in to working with the Drupal community and the great people and organizations that have grown the platform from a small social conduit to a powerful force on the web.
Please feel free to ask me any questions you may have down in the comments. I’m looking forward to speaking with and working with many of you soon!
Like lots of other Drupalists we’ve spent a long time talking about and preparing for the Sensio Labs framework Symfony2 and Drupal 8. When it came time to submit our training proposals for Drupalcon Austin we knew we wanted to highlight the need to begin preparing the Drupalverse for this great transition - our response? INTRODUCTION TO SYMFONY2: GETTING READY FOR D8.
DrupalCon Austin will offer professional, hands-on training on a variety of Drupal subjects by world-class Drupal trainers on Monday, June 2.
For a limited time, the cost of attending a training is $400.00 plus applicable tax and includes a full day of professional training, breakfast, lunch, and breaks. This special offer ends May 2, 2014 at 11:59pm Austin time, so don't wait to register. That's $75 you could be putting towards completing your office bean bag forest!
The concept of blocks has been around in Drupal since the earliest versions. Chunks of information that can be placed into the regions provided by a theme and re-used throughout your site. The system for defining blocks in code has changed quite a bit for Drupal 8 though so it's worth taking a fresh look at how to create blocks in your own module. Especially since in my experience it's one of the first things we need to know how to do as module developers.
In this screencast, I will show you how you can use ontologies to specify the field types to use for the classes and properties we map into Drupal using OSF Entities mapping process. Once the field types will be configured for each Datatype property, I will run the mapping process to generate new fields that will use the configured field types. Once done, I will show you the impact of this configuration into the fields and fields instances that are being created into Drupal.
The second part of this screencast focus on the configuration of the field widgets that are being used by each field. Then I will update a few entities using the new forms. I will tell you how you can modify the form by re-ordering the fields, by changing their titles or other configuration options such as their cardinality.
OSF Entities supports the following 18 field types and 34 field widgets.