location | Austin Drupal Development and Support | Drupal Development | Drupal Module Developer Austin TX

Category Archive for: location

rfp-robotRFP ROBOT: Website Request for Proposal Generator

The time has come for a new website (or website redesign), which means you need to write a website request for proposal or web RFP. A Google search produces a few examples, but they vary wildly and don’t seem to speak really to your goals for developing or redesigning a new website. You need to write a website RFP that will clearly articulate your needs and generate responses from the best website designers and developers out there. But how?

Have no fear, RFP Robot is here. He will walk you through a step-by-step process to help you work through the details of your project and create a PDF formatted website design RFP that will provide the information vendors need to write an accurate bid. RFP Robot will tell you what info you should include, point out pitfalls, and give examples.


Google Local Search Grades Hotels Based on Location by @MattGSouthern

Google has added a new tab to local search knowledge panels which assigns a grade to hotels based on location.The post Google Local Search Grades Hotels Based on Location by @MattGSouthern appeared first on Search Engine Journal. Source: https://www.searchenginejournal.com/feed/

Five interesting ways to use Sanity.io for image art direction

When we saw Chris put up a list of cloud-hosted data-stores, we couldn’t resist letting him know that we also had one of those, only ours is a fully featured CMS that come with a rich query language and an open source, real time, collaborative authoring tool that you can tailor to your specific needs using React. It’s called Sanity.io. “Add us to your list!” we asked Chris. “No, your stuff is interesting, can’t you write about you,” he replied. “Maybe something that would be useful for people working with images.” Challenge accepted! Systems like Sanity wants to free your content from the specific page it happens to be sitting on, so that you can flow it through APIs. That way you can reuse your painstakingly crafted content anywhere you need it. So, what does this mean for images? Images are the odd ones out. We can capture documentation articles,…

Read More →

Adding Particle Effects to DOM Elements with Canvas

Let’s take a look at how to make web pages more visually capable by combining the freedom of <canvas> with HTML elements. Specifically, we will be creating a basic HTML-to-particle effect, but the same technique could be used for many kinds of effects. Before we begin, feel free to grab the source code in the repo. View Repo Create the initial element First, let’s create an HTML element to build on. I’m using a simple styled button, but it really could be any HTML element. See the Pen DOM to Canvas #1 by Zach Saucier (@Zeaklous) on CodePen. A modern browser like Chrome, Firefox, or Edge is required to view these demos. But how can we get a canvas to “see” this element so that we can manipulate each pixel using canvas? In order to make that to happen, we will essentially need to take a snapshot of our HTML…

Read More →

Create your own Serverless API

If you don’t already know of it, Todd Motto has this great list of public APIs. It’s awesome if you’re trying out a new framework or new layout pattern and want to hit the ground running without fussing with the content. But what if you want or need to make your own API? Serverless can help create a nice one for data you’d like to expose for use. Serverless really shines for this use case, and hopefully this post makes it clear why. In a non-serverless paradigm, we have to pick something like express, we have to set up endpoints, we have to give your web server secured access to your database server, you have to deploy it, etc. In contrast, here we’ll be able to create an API in a few button clicks, with minor modifications. Here’s the inspiration for this tutorial: I’ve been building a finder to search…

Read More →

Remote Conferences; Bridging the Gap, Clearing the Odds

A few weeks back, I saw one of my esteemed mentors decry the psychological traumas he had experienced, following series and series of refusals at certain embassies. “A child concentrating hard at school” by Les Anderson on Unsplash You would think he went for a contract he did not have the capacity for, but then, you would have been wrong. He needed to impart knowledge. He opted to do so across borders, but then, some realities were harsh. We are fighting just the police for mistaking techies and related careers as fraudsters when we have a much bigger problem #thread — Christian Nwamba (@codebeast) June 3, 2018 Borders and geographical constraints can cause a lot of havoc. However, it can only do so, when the full discovery of a better way to impart knowledge across borders has not been made. Video conferencing technology has become handy at times like this.…

Read More →

CSS Grid in IE: CSS Grid and the New Autoprefixer

In Part 1 of this series, I debunked a few misconceptions that many people have around the Internet Explorer (IE) implementation of CSS grid. This article builds on that knowledge. It would be best to go back and read that article first if you haven’t already. Today I’m going to be tackling the biggest misconception of all: that utilizing the IE implementation of CSS grid is extremely difficult. You can easily use CSS grid in IE right now without having to give it any sort of crappy fallback layout. It really isn’t that hard. Article Series: Debunking Common IE Grid Misconceptions CSS Grid and the new Autoprefixer (This Post) Faking an auto-placement grid with gaps (Coming Soon!) Giving IE a crappy fallback layout is a bit of a tough sell to clients. It is especially tough if this is for an intranet where 90% of the users are using IE.…

Read More →

Storing Secret Credentials in Rails 5.2 and Up

The Good Ol’ Days Since version 4.1, Rails has helped developers store their secrets by generating a new secrets.yml file in the config folder. By default, this file contains a SECRET_KEY_BASE that is used to “derive keys for encrypted cookies… [and] HMAC signed cookies.”[1] However, you could add additional keys to this file: # config/secrets.yml development: secret_key_base: n3mb3r5a5ndl3t4ter5 secret_api_key: SOME_PRIVATE_KEY Once everything is saved, you could access it via Rails.application.secrets.secret_api_key. This way, you could store your secret credentials in a single file and simply make sure that secrets.yml is part of your .gitignore. The release of Rails 5.1 added another file named secrets.yml.enc to allow for encrypting your secret credentials, but this caused some confusion. The combination of config/secrets.yml, config/secrets.yml.enc, and SECRET_KEY_BASE made it so it wasn’t clear where secrets should be stored and what the relevance of SECRET_KEY_BASE was [2] . A New Beginning With this confusion in mind,…

Read More →

The Right Way to Store and Serve Dragonfly Thumbnails

We love and use Dragonfly to manage file uploads in our Rails applications. Specifically, its API for generating thumbnails is a huge improvement over its predecessors. There is one area where the library falls short, though: out of the box, Dragonfly doesn’t do anything to cache the result of a resize/crop, meaning a naïve implementation would rerun these operations every time we wanted to show a thumbnailed image to a user. The Dragonfly documentation offers some suggestion about how to handle this issue, but makes it clear that you’re pretty much on your own: Dragonfly.app.configure do # Override the .url method… define_url do |app, job, opts| thumb = Thumb.find_by_signature(job.signature) # If (fetch ‘some_uid’ then resize to ’40×40′) has been stored already, give the datastore’s remote url … if thumb app.datastore.url_for(thumb.uid) # …otherwise give the local Dragonfly server url else app.server.url_for(job) end end # Before serving from the local Dragonfly server……

Read More →

Handling Errors with Error Boundary

Thinking and building in React involves approaching application design in chunks, or components. Each part of your application that performs an action can and should be treated as a component. In fact, React is component-based and, as Tomas Eglinkas recently wrote, we should leverage that concept and err on the side of splitting any large chunking into smaller components. Splitting inevitably introduces component hierarchies, which are good because they bloated components and architecture. However, things can begin to get complicated when an error occurs in a child component. What happens when the whole application crashes?! Seriously, React, why do the parent and sibling components have to pay for the sins of another component? Why? Error Boundaries React 16 came with a lot of goodies, one of which is error boundaries. Let’s consult the documentation and break down what it says about this gem because we can use it to spot…

Read More →

Forms, Auth and Serverless Functions on Gatsby and Netlify

Abstracting infrastructure is in our DNA. Roads, schools, water supply networks—you get the idea. Web development is no exception: serverless architectures are a beautiful expression of that phenomenon. Static sites, in particular, are turning into dynamic, rich experiences. Handling static forms, authentication, and backend functions on statically-generated sites is now a thing. Especially with the JAMstack pioneer platform that is Netlify. Recently, they announced support of AWS Lambda functions on front-end-centric sites and apps. I’ve been meaning to dive into their “backend” features since. Today, I’m doing just that, using a static Gatsby site, Netlify’s Forms, Identity, and Functions features. This tutorial will show you how to: Add static forms to your site Add user authentication for password-protected content Create an AWS Lambda function Ready to supercharge a static site with serverless features? Consider checking out Netlify’s React-powered static CMS after this post! And here’s a tutorial on a whole…

Read More →

Recognizing Why and How to Recognize Work

We all work hard, build amazing things, put in long hours, and generally do our best. If you’re a small company, you probably know every awesome thing your company is doing. However, once you reach a certain size, spread across more than one office, or start juggling enough projects simultaneously, some awesome things probably start slipping between the cracks. In a sense, that’s okay. Everyone’s hard work and accomplishments are recognized every time a client pays for our work. Every month we get a certificate of appreciation called a paycheck. Every day you still have a job is recognition that you’re doing it well. Or maybe the work itself is enough. Your innate satisfaction of a job well done. But there are real benefits to making the effort to recognize work regularly and habitually. One, there are probably projects happening in your company that are are already recognized.  They’re high…

Read More →

How to build a slide deck in PowerPoint that isn’t god awful

“Oooh! A PowerPoint Presentation!” — No one ever Nobody likes a slide show. I don’t even have to back that assertion up with evidence. It’s a universal truth — like saying “the sky is blue”, “the grass is green” or “The Mummy with Tom Cruise is the worst movie ever made.” And if you haven’t seen The Mummy reboot, I just saved you and you should be grateful. It’s as if there is some unwritten rule that says: if you do a PowerPoint presentation, it has to be measurably boring on a physical level. It doesn’t have to be this way. We can make engaging and (I hate this word but watch me use it anyway) delightful slide shows and you only need to know two things: How to work with shapes The “Morph” transition Here is an example of the slideshow we’re going to be building in this post.…

Read More →

Locate and identify website visitors by IP address

(This is a sponsored post.)Big thanks to ipstack for sponsoring CSS-Tricks this week! Have you ever had the need to know the general location of a visitor of your website? You can get that information, without having to explicitly ask for it, by the user’s IP address. You’re just going to need a API to give you that information, and that’s exactly what ipstack is. Here’s me right now: This works globally through an API that covers over 2 million unique locations in over 200,000 cities around the world, and it’s update dozens of times a day. It’s a nice clean JSON API for all you front-end JavaScript folks! XML is there too, if you need it. You’re probably curious about all the data you can get, so let’s just take a look: { “ip”: “134.201.250.155”, “hostname”: “134.201.250.155”, “type”: “ipv4”, “continent_code”: “NA”, “continent_name”: “North America”, “country_code”: “US”, “country_name”: “United States”,…

Read More →

Responsive Knockout Text With Looping Video

Here’s an idea! Let’s make an an HTML <video> play inside the shape of some letters. Like “Knockout Text” except instead of an image behind, it’s video. A live demo will explain more clearly: See the Pen basic pen by Giulio Mainardi (@mgiulio) on CodePen. A key objective here is to develop this responsively. The idea is to not only scale the video in size to fit the parent container (as video generally does), but scale the text as well, maintaining the size relationship between the type and underlying video. We’re going to get there by using the CSS clip-path property to clip the video against an SVG path defined within a <clipPath> element. First we’ll cover the core concept. Then we’ll add some eye candy by adding a few more features and demonstrate them with a couple additional demos. Setting Up the Video in HTML Let’s start with the…

Read More →

What are Higher-Order Components in React?

If you have been in the React ecosystem for a while, there is a possibility that you have heard about Higher Order Components. Let’s look at a simple implementation while also trying to explain the core idea. From here you should get a good idea of how they work and even put them to use. Why Higher-Order Components? As you build React applications, you will run into situations where you want to share the same functionality across multiple components. For example: you need to manage the state of currently logged in users in your application. Instead of managing that state across all of the components that need that state, you could create a higher-order component to separate the logged in user state into a container component, then pass that state to the components that will make use of it. The components that receive state from the higher-order component will function…

Read More →

Kinsta

(This is a sponsored post.)Huge thanks to Kinsta for sponsoring CSS-Tricks this week! We’re big fans of WordPress around here, and know some of you out there are too. So this might come of interest: Kinsta is WordPress hosting that runs on Google Cloud Platform. And in fact, it’s officially recommended by Google Cloud for fully-managed WordPress hosting. What does that matter? Well, when you go with a cloud host you’re entering a new realm of reliability. For example, your site is run in its own isolated container, including all the software required to run it. Familiar stuff like PHP, MySQL, and Nginx. Those resources are 100% private and not shared between anyone else – not even other sites of yours. Spinning up a site is incredibly easy from their nice dashboard You aren’t on your own here. Yes, you’re using powerful low-level infrastructure from Google Cloud Platform, but you…

Read More →

Kinsta

(This is a sponsored post.)Huge thanks to Kinsta for sponsoring CSS-Tricks this week! We’re big fans of WordPress around here, and know some of you out there are too. So this might come of interest: Kinsta is WordPress hosting that runs on Google Cloud Platform. And in fact, it’s officially recommended by Google Cloud for fully-managed WordPress hosting. What does that matter? Well, when you go with a cloud host you’re entering a new realm of reliability. For example, your site is run in its own isolated container, including all the software required to run it. Familiar stuff like PHP, MySQL, and Nginx. Those resources are 100% private and not shared between anyone else – not even other sites of yours. Spinning up a site is incredibly easy from their nice dashboard You aren’t on your own here. Yes, you’re using powerful low-level infrastructure from Google Cloud Platform, but you…

Read More →

Acquia blocks 500,000 attack attempts for SA-CORE-2018-002

On March 28th, the Drupal Security Team released a bug fix for a critical security vulnerability, named SA-CORE-2018-002. Over the past week, various exploits have been identified, as attackers have attempted to compromise unpatched Drupal sites. Hackers continue to try to exploit this vulnerability, and Acquia’s own security team has observed more than 100,000 attacks a day. The SA-CORE-2018-002 security vulnerability is highly critical; it allows an unauthenticated attacker to perform remote code execution on most Drupal installations. When the Drupal Security Team made the security patch available, there were no publicly known exploits or attacks against SA-CORE-2018-002. That changed six days ago, after Checkpoint Research provided a detailed explanation of the SA-CORE-2018-002 security bug, in addition to step-by-step instructions that explain how to exploit the vulnerability. A few hours after Checkpoint Research’s blog post, Vitalii Rudnykh, a Russian security researcher, shared a proof-of-concept exploit on GitHub. Later that day,…

Read More →

Back to Top