Two weeks ago I wrote about routes and controllers in the introduction to namespaces. This week we are going to take a much closer look at routes and controllers.
So, what exactly is a route and a controller?
When you create a custom page in Drupal with code, you need both a route and a controller. You define the URL for the page with the route. And then you create a controller for that page. This will be responsible for building and returning the content for the page.Routes
A route determines which code should be run to generate the response when a URI is requested. It does this by mapping a URI to a controller class and method. This defines how Drupal deals with a specific URI.Controllers
Controllers take requests or information from the user and decide how to handle the request. For the example module in this tutorial, the controller is responsible for generating the content and returning it for the page.
Read on to learn more about routes and controllers in Drupal 8 modules...
Last week I had the opportunity to back to Colombia as para of my tour Around the Drupal world in 140+ days.
To be honest, this stop wasn't planned, during my visit to France the border control officer inform to me about a situation with my passport, I was almost done with the space for new stamps. That situation forces me to try to get a new passport as soon as possible; After checking to Colombian embassy in Costa Rica, I confirm that renew my passport in Costa Rica wasn't an option due the return time. For that reason, I have to travel to Colombia to renew my passport there.
With this un expected trip I tried to use in as many activities I could. In Drupal Side, I participated in a Drupal Meetup organized by Seed, and particularly by Aldibier Morales. They rent and space and organize the event to enable me to talk about Drupal Console and Drupal Community in general, I enjoy the Q & A session, where I could provide some points of view I have about how to handle local communities.
With my new passport on my hands, I start a marathon to visit my mother and father familly located in Bucaramanga, Santader. Was really good because for many years I haven't visit them.
So, as many time in my #enzotour16 I overcome the adversities and transform in something positive as much I could it.Airplane Distance (Kilometers) San Jose, Costa Rica → Bogota, Colombia → San Jose, Costa Rica 2.576 Previously 106.561 Total 109.137 Walking Distance (steps) Dublin 39.597 Previously 1.897.088 Total 1.936.685 Train Distance (Kilometers) Today 0 Previously 528 Total 528 Bus/Car Distance (Kilometers) Today 796 Previously 2.944 Total 3.740
NEWMEDIA: How To Use HTML Meta Tags to Tailor Your Story When Your Content is Shared Across Social Media Platforms
It is disheartening to see what can happen when a link is shared on Facebook without proper meta tags, which often results in the wrong image or description being displayed. Not only is this sloppy, but it relies on users to manually correct that information (if the particular social media platform even allows for that flexibility). Worse, your audience is unlikely to take the time to make those same adjustments when they are sharing your content. The solution to this is to leverage HTML meta tags to tell and tailor your story to each social media platform.A Real Life Example
Imagine you show up at a dinner party. You look around and discover that you don’t know anyone there! You keep scanning the unfamiliar faces when someone bumps into you and strikes a conversation. Inevitably, the other person asks you “so, what do you do for a living?”
Such a simple question, but you probably have anywhere from 2-5 canned responses to pick from depending on the background of the person that asks. If you had an inkling that the person worked in a similar industry or knows of the company you work for, you might provide a somewhat detailed answer going into specific nuances that they might understand and appreciate. On the opposite end of the spectrum, you might overwhelm someone that has no frame of reference. Here you are more likely to give a generic answer, which is why I simply tell my mom “I work with computers” and that’s sufficient to keep the conversation going.
In short, different people get different answers based on what will best support the conversation with that person or audience. We now need to apply those same principles for your content as it is interacted with on different social media platforms.Part 1: Creating Your Sharing Strategy
Before we discuss the mechanics, it’s important to review your goals for each social media platform. Similar to the dinner party analogy, there are a variety of factors that you need to consider when deciding on what to communicate.
While the following is an overly simplistic breakdown of LinkedIn, Facebook, and Twitter, it will reinforce the need to tailor the messaging to each platform. Typically, Linkedin is geared towards conversations relating to careers, networking, business opportunities, and etc. Facebook started primarily as a way to connect with friends but has rapidly evolved into a mix that depends greatly on how you’ve been using it and what types of connections you already have. Twitter is based on real-time communication and information sharing.
It’s possible to create a piece of content that is useful to share across all 3 platforms at the same time, but it’s unlikely that it’s appropriate to present the content in the same way due to the different audiences and expectations on each platform. In short, posting an adorable picture of my two and a half-year-old daughter is encouraged on Facebook, arguably not something I would do on Twitter, and something I would never, ever do on LinkedIn.Part 2: The Mechanics
If you’ve never built a website before, it’s unlikely that you’ve peaked under the hood to see the guts of an HTML page. If you’d like to get a very quick overview, here is a basic tutorial to get started. And if you really want to take a deep dive, here’s a comprehensive overview on Wikipedia.
Traditionally, when you share a link to the social media outlets, each platform does its best job to scrape the page’s HTML and try to extract the pertinent details. In general, getting the title of the page is a no-brainer, but the description can be messed up in a variety of ways. Sometimes it will pull the wrong description or give up and show nothing at all. Twitter’s character limit can also cause a truncation that can either change the meaning or not accurately describe the page.
Picking an appropriate image can often feel like a game of Russian roulette. While you may expect the platform to pull an image from within the article, it will sometimes pull an image from a completely unrelated part of the page. Unfortunately, this can not only harm the quality of the share result but sometimes the two juxtaposition can result in an unappealing or inappropriate result. Just imagine an article on depression pulling an image of a specific person’s picture and you may be setting the reader up with the wrong expectation.
This is where meta tags come in. Here we want to provide additional information to essentially tell the different platforms the specific information and media we want it to use instead of having them guess. For example, Facebook uses a protocol called Open Graph, which contains a specific subset of meta tags that live in the head region of the HTML page that is used for share results on their platform. Twitter has its own set of meta tags that not only let you specify different information, but they also allow you to specify which style of share you would like to use (photo, video, standard, etc). And finally, Linkedin leverages the Facebook OpenGraph meta tags, so you can’t quite delineate the message between the two. Although, it is probably only a matter time before Linkedin creates their own version such that you can specify and tailor it to be a different introduction than Facebook.
Here’s a sample of the 9 lines of code we’ll be using to target our message.<
If you’re using a CMS like Drupal 8, adding these values to any node page is very straightforward. Simply install the metatag module along with the OpenGraph and Twitter submodules. Then visit the configuration menu located at /admin/config/search/metatag. There you can specify the default global values and tokens for each of these meta tag options. You can then override these values on a per node basis by visiting the node edit screen and navigating to the meta tags section.
It’s worth noting that there are more meta tags available that can be used to specify content attributes ranging from a video URL to its geographical location (i.e. longitude and latitude). Here’s just one list to emphasize the quantity and variety of tags available.Part 3: The Outcome
Let’s use a real example from the newmedia blog. Several months ago, I published an article titled PCI Compliance & Drupal Commerce: Which Payment Gateway Should I Choose? Given the technical nature of the article for both developers and businesses, LinkedIn and Twitter would be the most appropriate place to share this page.
Without any metadata specified, the share result on Twitter is fairly bland. Here’s a quick screenshot showing it.
Figure 1: A tweet containing a link that lacks HTML Meta Tags for Twitter.
Alternatively, I can provide a very tailored title, image, and description that is far more likely to get someone’s attention and provide them with an accurate representation of the article itself.
Figure 2: A tweet containing a link with HTML Meta Tags for Twitter.
It’s important to note that these changes are more than just simple cosmetics. The share result is now taller because the images get more real estate and you’re able to leverage the full length of the description field. Both of these changes makes the tweet stand out more. If I had a video, I could put that in as well, allowing me to have an additional opportunity to communicate with a potential reader before they left Twitter. In short, I’ve dramatically improved my odds of reaching the audience.
Finally, we need to change the message on LinkedIn. By editing the "og:description" field, we could say something along the lines of "Keep your customer's credit card data safe while meeting your PCI compliance obligations for your Drupal Commerce site by using these recommended payment gateways." This way we are focusing more on a businesses need to protect their customers by choosing the appropriate gateways instead of appealing strictly to a security minded developer on Twitter.Summary
As social media platforms continue to become a dominant traffic source for your content, it becomes even more important to put in the small amount of additional effort to ensure your story can connect with each audience. Through the proper use of metadata, you can easily achieve this goal with your existing content as well as make this a part of your editorial process moving forward.
In the fall of 2016, the Rainforest Alliance and Last Call Media launched an exciting redesign of www.rainforest-alliance.org, built on Drupal 8 and employing impeccable agile software development methodologies. Our productive partnership with the Rainforest Alliance resulted in a technically groundbreaking site that allowed users unprecedented access to the riches of their content after just four months of development. The tool is now primed to drive the Rainforest Alliance’s critical end-of-year development activities.
At DrupalCon Dublin, I spoke about The Association’s commitment to help Drupal thrive by improving the contribution and adoption journeys through our two main community assets, DrupalCon and Drupal.org. You can see the video here.
One area I touch on was my experience as a new code contributor. Contributing my patch was a challenging, but joyous experience and I want more people to have that feeling—and I want to make it as easy as possible for others to contribute, too. It’s critical for the health of the project.
At the heart of the Drupal contributor community are our custom development tools, including the issue tracker, Git repositories, packaging, updates server, and automated testing. We believe there are many aspects of Drupal’s development workflow that have been essential to our project's success, and our current tooling reflects and reinforces our community values of self-empowerment, collaboration, and respect, which we seek to continue to uphold.
It’s time to modernize these developer tools. To support the Association with this objective The Drupal Association created a Technical Advisory Committee (TAC). The TAC consists of community members Angie Byron, Moshe Weitzman, and Steve Francia, who is also our newest Drupal Association board member. The TAC acts in an advisory role and reports to me.
Building off of the work the community has already done, the TAC is exploring opportunities to improve the tools we use to collaborate on Drupal.org. The crux of this exploration is determining whether we should continue to rely on and invest in our self-built tools, or whether we should partner with an organization that specializes in open source tooling.
Our hope is that we will be able to bring significant improvements to our contribution experience faster by partnering with an organization willing to learn from our community and adapt their tools to those things we do uniquely well. Such a partnership would benefit both the Drupal community—with the support of their ongoing development—and potentially the broader open source community—by allowing our partner to bring other projects those aspects of our code collaboration workflow.
The TAC will use a collaborative process, working with staff and community to make a final recommendation. The TAC has already begun the process and has some very positive exploratory conversations. The TAC and staff will be communicating their progress with the community in upcoming blog posts.
An OSTraining member asked how you could work online and stop bots from crawling a site in development.
We are going to use 3 modules to secure our drupal 8 enviroment so we can work online in private.
Maybe you have seen Dries Buytaert's DrupalCon keynote and are looking forward to all the goodies coming in future Drupal 8 versions. The truth is none of those things will happen without people who want to make them happen to solve their own challenges with implementing Drupal solutions. Are you implementing decoupled solutions and have issues you are working on? In the middle of building up a suite of integrated media solutions? These core team meetings are ideal to bring in these issues and discuss solutions and to be part of shaping up where Drupal 8 is heading. Read on for details.
- The JSON API and GraphQL meeting is held every week at 2pm UTC in the #drupal-wscii IRC channel.
- There is a monthly meeting on all API first work (REST, Waterwheel, JSON API, GraphQL) every third Monday of the month at 11am UTC in Google Hangouts.
- The Panels ecosystem meeting is on every Tuesday at 10am UTC in the #drupal-scotch IRC channel.
- There are two usability meetings every week! One at 7pm UTC on Tuesday while the other is at 7am UTC on Wednesday. Pick the best for your timezone. The meetings are at https://drupal.slack.com/archives/ux, get an invite at http://drupalslack.herokuapp.com/
- There is a default content in core meeting every other week on Tuesdays at 9pm UTC, and at 3pm UTC on the opposite weeks. Pick the best for your timezone. The meetings are at https://drupal.slack.com/archives/example-content, get an invite at http://drupalslack.herokuapp.com/
- There are two theme component library meetings on Wednesday, one at 1pm UTC and one at 5pm UTC Pick the best for your timezone. The meetings are at https://drupaltwig.slack.com/archives/components, get an invite at https://drupaltwig-slack.herokuapp.com/
- There is a media meeting every Wednesday at 2pm UTC, join in the #drupal-media IRC channel.
- The multilingual meetings are still going on for years at 4pm UTC on Wednesdays, join at #drupal-i18n in IRC.
- The workflow initiative meets every Thursday at noon UTC in #drupal-contribute on IRC.
- Wanna help with migrate? The team has Google Hangouts at Wed 1pm UTC or Thu 1am UTC on an alternating weekly schedule. The #drupal-migrate IRC channel is also used as a backchannel.
- Last but not least the new user facing core theme initiative meets every other Thursday at 3pm UTC in https://drupaltwig.slack.com/archives/new-core-theme-design, get an invite at https://drupaltwig-slack.herokuapp.com/
Below is the calendar of all the meetings, subscribe to the Ical feed at https://calendar.google.com/calendar/ical/happypunch.com_eq0e09s0kvcs7v5...
It’s a joy to see how Drupal 8 fulfills its promise of becoming more convenient in every way!Read more
Sooper Drupal Themes: Do you miss Drupalmodules.com too? Now there is Reddit /r/Drupal_Modules and /r/Drupal_Themes
Years ago there was Drupalmodules.com. It had instant search, module reviews and an always up to date feed with the newest Drupal modules. It was wonderful. I was subscribed to their RSS feed with the latest modules because I felt like I was ahead of the curve for knowing all the latest contrib additions for Drupal, I learned about a lot of useful little (and big) modules that way.
gettz provides a possible fallback in situations where Sys.timezone() fails to determine the system timezone. That can happen when e.g. the file /etc/localtime somehow is not a link into the corresponding file with zoneinfo data in, say, /usr/share/zoneinfo.
Windows is now no longer excluded, though it doesn't do anything useful yet. The main use of the package is still for Linux.
pgpcontrol is the collection of the original signing and verification scripts that David Lawrence wrote (in Perl) for verification of Usenet control messages. I took over maintenance of it, with a few other things, but haven't really done much with it. It would benefit a lot from an overhaul of both the documentation and the code, and turning it into a more normal Perl module and supporting scripts.
This release is none of those things. It's just pure housekeeping, picking up changes made by other people (mostly Julien ÉLIE) to the copies of the scripts in INN and making a few minor URL tweaks. But I figured I may as well, rather than distribute old versions of the scripts.
You can tell how little I've done with this stuff by noting that they don't even have a distribution page on my web site. The canonical distribution site is ftp.isc.org, although I'm not sure if that site will pick up the new release. (This relies on a chain of rsync commands that have been moved multiple times since the last time I pushed the release button, and I suspect that has broken.) I'll ping someone about possibly fixing that; in the meantime, you can find the files on archives.eyrie.org.
Last week, we launched a new version of Acquia Lift, our personalization tool. Acquia Lift learns about your visitors' interests, preferences and context and uses that information to personalize and contextualize their experience. After more than a year of hard work, Acquia Lift has many new and powerful capabilities. In this post, I want to highlight some of the biggest improvements.Intuitive user experience
To begin, Acquia Lift's new user interface is based on the outside-in principle. In the case of Acquia Lift, this means that the user interface primarily takes the form of a sidebar that can slide out from the edge of the page when needed. From there, users can drag and drop content into the page and get an instant preview of how the content would look. From the sidebar, you can also switch between different user segments to preview the site for different users. Personalization rules can be configured as A/B tests, and all rules affecting a certain area of a page can easily be visualized and prioritized in context. The new user interface is a lot more intuitive.Unifying content and customer data
Having a complete view of the customer is one of the core ideas of personalization. This means being able to capture visitor profiles and behavioral data, as well as implicit interests across all channels. Acquia Lift also makes it possible to segment and target audiences in real time based on their behaviors and actions. For example, Acquia Lift can learn that someone is more interested in "tennis" than "soccer" and will use that information to serve more tennis news.
It is equally important to have a complete view of the content and experiences that you can deliver to those customers. The latest version of Acquia Lift can aggregate content from any source. This means that the Acquia Lift tray shows you content from all your sites and not just the site you're on. You can drag content from an ecommerce platform into a Drupal site and vice versa. The rendering of the content can be done inside Drupal or directly from the content's source (in this case the ecommerce platform). A central view of all your organization's content enables marketers to streamline the distribution process and deliver the most relevant content to their customers, regardless of where that content was stored originally.
Content can also be displayed in any number of ways. Just as content in Drupal can have different "display modes" (i.e. short form, long form, hero banner, sidebar image, etc), content in Acquia Lift can also be selected for the right display format in addition to the right audience. In fact, when you connect a Drupal site to Acquia Lift, you can simply configure which "entities" should be indexed inside of Acquia Lift and which "display modes" should be available, allowing you to reuse all of your existing content and configurations. Without this capability, marketers are forced to duplicate the same piece of content in different platforms and in several different formats for each use. Building a consistent experience across all channels in a personalized way then becomes incredibly difficult to manage. The new capabilities of Acquia Lift remedy this pain point.The best for Drupal, and beyond
In addition, we've also taken an API-first approach. The new version of Acquia Lift comes with an open API, which can be used for tracking events, retrieving user segments in real time, and showing decisions and content inside of any application. Developers can now use this capability to extend beyond the Lift UI and integrate behavioral tracking and personalization with experiences beyond the web, such as mobile applications or email.
I believe personalization and contextualization are becoming critical building blocks in the future of the web. Earlier this year I wrote that personalization is one of the most important trends in how digital experiences are being built today and will be built in the future. Tools like Acquia Lift allow organizations to better understand their customer's context and preferences so they can continue to deliver the best digital experiences. With the latest release of Acquia Lift, we've taken everything we've learned in personalization over the past several years to build a tool that is both flexible and easy to use. I'm excited to see the new Acquia Lift in the hands of our customers and partners.
We want to make your project a success.Let's Chat.
Strategies for making remote collaboration successful on web development projects.
With the advancement of technology, there are infinite ways and opportunities to work remotely, no matter where you are. In this week’s episode of The Secret Sauce, we share some strategies for making remote work - well, work.iTunes | RSS Feed | Download| Transcript
We want to make your project a success.Let's Chat. Transcript
Allison Manley [AM]: Hello and welcome to The Secret Sauce, a short podcast by Palantir.net, that offers a little bit of advice to help your business run better.
I’m Allison Manley, Sales and Marketing Manager here, and today’s advice comes from Scott DiPerna and Lauren Byrwa. In this global economy, there are infinite ways and opportunities to work remotely, no matter where you are. Scott and Lauren are going to share some strategies on how to collaborate successfully across great distances and time zones.
Scott DiPerna [SD]: Hi, I’m Scott DiPerna.
Lauren Byrwa [LB]: Hi, I’m Lauren Byrwa.
SD: Recently we worked with a client in California who had hired a content strategy team in New York City. Lauren, with our development team, was in Chicago, and I, as the Project Manager, was in South Africa. We had lots of interesting new challenges in this project, and like we do in most projects, we learned a lot about working well with our clients, our collaborators, and with each other.
LB: So, Scott, what was it like trying to work from South Africa, being seven to nine hours ahead of everyone else?
SD: Well, it wasn’t that different from working remotely in Richmond, Virginia. I do shift my working hours to the evening to overlap with the team in the States. But just as I did in Virginia, we do all of our meetings on a video chat regardless of where we are. It’s part of our process especially with our clients being all over the country, so that part wasn’t really different. But we did do a few things differently in this project — not so much because we were all in different places, but because we had multiple vendors and teams collaborating together. Do you want to talk about some of the adjustments that we made in terms of meetings?
LB: Yeah, so we met with the content strategy team weekly. We met with our product owner three times a week. We met with our full team, our full team of stakeholders, weekly. And in addition to that we still had all our usual agile ceremonies like scrum, demos, retrospectives, that we always do on projects. These meetings especially were productive because we had all of the strategic functionality up front, and we could ask specific implementation-level questions early on, and we could vet them both with the product owner specifically, with the strategists specifically, and with the entire group. But I think there are a few other ways that the thorough strategy helped. Do you want to talk about those?
SD: Sure. I think there were two parts specifically that were really helpful. Doing a lot of the strategic planning up front meant that the client was a lot more conversant in the details of the product that we were planning to build for them. We just had a lot more conversations with them up-front and could talk in detail. The other piece was having much of the functionality visually documented in wireframes that the strategy team kept current with changes in the functionality meant that the client always had a “picture” in their minds of what it was that we were talking about. When everyone is working remotely from one another, these kinds of visuals help conversations over video chat be infinitely more productive, which I think is something we see in all of our projects. So all of this planning had a really helpful impact on your ability to estimate the work up front, too. Do you want to talk a bit about that?
LB: Because we had the complete and canonical wireframes from the strategists we were able to fairly precisely estimate all of the functionality that they had scoped out in those wireframes. This meant that even before we started development, we were able to work with our product owner to go over in detail the scope of work we anticipated to be able to complete within their budget. We had many conversations with him about what features would be most important for their users, and were able to prioritize accordingly. It meant that we could talk about the specifics of our implementation in really granular detail internally, both with the strategists, both with the product owner. We collaboratively evaluated if there were options to streamline our implementation, and we were able to address specific questions that usually would not come up until user acceptance testing. All of these conversations resulted in updates to both the canonical wireframes that the strategists were maintaining, as well as the implementation documentation that we were maintaining on our end. And it meant that the picture that the strategists had, that they kept, that the clients had in their head, stayed the same. And it was all reflected in what they could expect to be spending on the implementation for development.
SD: Right. And since we were documenting those functional changes in the wireframes, we could capture that quickly and review it with the client in the middle of a sprint. And speaking of that sort of adjustment in the middle of a sprint, you started doing mini-demos of work in progress, demoing that to the product owner. Can you talk a little bit about why you shifted in that direction?
LB: Yeah, so because we already had all of these meetings set up, and because we already had those canonical wireframes that showed all of the functionality in the picture, we wanted to make sure that they could see the picture of their website, the implementation, as quickly as possible too. So when we had specific implementation questions about things that were spec-ed out in the wireframes, we would demo it for the client. And they could vet it, both for the client and the strategists, and come back to that . . . is this the best choice for the user. It meant that all of those questions of, is this the best route to go down, does this work the way that I anticipated it to, were answered not even before user acceptance testing — they were answered even before the demo. So we could pivot our strategy accordingly, and we did on a lot of issues.
SD: So given all of these constraints that we faced on the project, where we had a client in one part of the States, a content strategy team in another part of the States, even our own internal strategy team split up across continents, and a pretty sizeable project with some interesting technical projects to solve — what were some of the biggest take-aways that you had from that project?
LB: I think the number one thing that I took away from that project was that we can solve every problem together, and that we can come to a better conclusion when we come to it together. The collaborative effort with the strategy team to focus conversations through the lens of the primary audience really helped us anchor our strategy and our implementation in that primary user, and not in some of the other things that often derail projects. We had complete and thorough documentation both on the strategy level and on the implementation, and both of those were transparent to everyone accessing the project. And I think that really helped us to streamline the entire project.
SD: I think for me one of the other things is that we were able to form really good relationships both with the client and with the third-party team we were collaborating with. And that made all of our conversations run more smoothly. We were able to have fun even in the difficult phases of the project, and even going through tough negotiations around scope or functionality or budgets or stuff like that — having those good relationships and having that good level of communication with them just made the whole process go more smoothly.
AM: That’s the end of this week’s Secret Sauce. For more great tips, please check out our website at Palantir.net. You can also follow us on twitter at @palantir. Have a great day!
On September 28, 2016, The Drupal Association board hosted a public board meeting during DrupalCon Dublin. It was wonderful to connect with the community in person to share updates and answer questions.
Over the last few months, we provided an update on The Association’s current focus followed by department-specific updates. This board meeting shared highlights of specific areas including:
- DrupalCon New Orleans
- Drupal.org front page improvements
- Membership campaigns
The next public board meeting will be on 21 November, 2016 at 7:00 am PT / 15:00 GMT. You can register for the meeting here.
This is the fourth installment of Palantir.net’s Guide to Digital Governance, a comprehensive guide intended to help get you started when developing a governance plan for your institution’s digital communications.In this post we will cover...
- Why it's important to define intended use of properties
- A couple of different ways intended use might be defined
- Some questions to consider for explaining your intended use policy
We want to make your project a success.Let's Chat.
Once we have established ownership for all of the content within our web properties, it may be helpful to define the intended use of those properties next.
This may seem obvious and unnecessary to state, but in my experience it has been important to define the intended use of the web property that is currently being described. This ensures that everyone is on the same page and understands a common set of goals for the property.
Public-facing websites are commonly intended for the use of communicating information to audiences outside of an organization, which is why they are public and usually distinguished from private, inward-facing sites, such as an intranet, which is intended for the purpose of communicating information to internal audiences within an organization. Not everyone understands this, so it is important to establish the reasoning behind the existence of the property so as not to confuse it with the purpose of another property.
Occasionally, the intended use of a property will be defined in part by the negative, or by that which it is NOT intended to be used. For example, it may be useful to state that no part of a public site should be used for personal content, especially if alternative resources exist explicitly for that purpose.
Here is an example of how intended use is sometimes defined by the negative:
"Academic Department websites are intended for the use of communicating information about the department, its faculty, degree requirements, course offerings, policies, etc. Academic Department websites are not intended for hosting websites of individual faculty, websites based on grant funding, research projects, or specific course-related materials, or for private (i.e. password-protected) websites or applications."
The negative in this example addresses some misperceptions about the intended use of a site about a department by listing some common misuses of the site previously.
Here are some questions to consider for explaining your own intended use policy:
- What is the primary purpose of the property or Website?
- What are the secondary and tertiary purposes, if they exist?
- Are there any activities or content which occasionally find their way onto this property which should live elsewhere, and thus explicitly be listed as not intended for this property?
- What are the “grey areas” or things which are unclear where they belong?
- Is there a process for dealing with grey areas?
- Who would help determine that process if it doesn’t exist? Intended use can be a controversial subject for many organizations, so think carefully and cautiously throughout this exercise.
Intended use can be a controversial subject for many organizations, so think carefully and cautiously throughout this exercise. I recommended gathering input from a broad range of representative stakeholders to discuss some of the stickier points before defining and presenting a plan that may draw criticism when reviewed by the larger organization.
As with most things, intended use should be based in reason and make sense to most people. That being said, there may be occasions in which some level of compromise is required in order to accommodate content that doesn’t have a home otherwise. This is typically okay in small amounts and for brief time-periods, until alternative solutions can be found.
This post is part of a larger series of posts, which make up a Guide to Digital Governance Planning. The sections follow a specific order intended to help you start at a high-level of thinking and then focus on greater and greater levels of detail. The sections of the guide are as follows:
- Starting at the 10,000ft View – Define the digital ecosystem your governance planning will encompass.
- Properties and Platforms – Define all the sites, applications and tools that live in your digital ecosystem.
- Ownership – Consider who ultimately owns and is responsible for each site, application and tool.
- Intended Use – Establish the fundamental purpose for the use of each site, application and tool.
- Roles and Permissions – Define who should be able to do what in each system.
- Content – Understand how ownership and permissions should apply to content.
- Organization – Establish how the content in your digital properties should be organized and structured.
- URLs – Define how URL patterns should be structured in your websites.
- Design – Determine who owns and is responsible for the many aspects design plays in digital communications and properties.
- Personal Websites – Consider the relationship your organization should have with personal websites of members of your organization.
- Private Websites, Intranets and Portals – Determine the policies that should govern site which are not available to the public.
- Web-Based Applications – Consider use and ownership of web-based tools and applications.
- E-Commerce – Determine the role of e-commerce in your website.
- Broadcast Email – Establish guidelines for the use of broadcast email to constituents and customers.
- Social Media – Set standards for the establishment and use of social media tools within the organization.
- Digital Communications Governance – Keep the guidelines you create updated and relevant.
Stay connected with the latest news on web strategy, design, and development.Sign up for our newsletter.
It isn't easy to build a strong community. Many event organizers work to bring people together for Drupal. Community Cultivation Grants are one tool to make the work a little easier. With a grant, you can strengthen the local community. You can help drive the adoption of Drupal.
Drupal Association members fund these grants. A few grant recipients have told us their stories. I'd like to share more about what has happened since the grants were awarded.Andrey from DrupalCamp Moscow The DrupalCamp Moscow 2014 organizers have connected with the organizers of other camps — DrupalCamp Siberia (in Novosibirsk in 2015) and DrupalCamp Krasnodar (in September 2016). They've shared experiences to inspire the communities in these other Russian cities.
Andrey tells us, "In Moscow, we don't have any large companies which offer Drupal services. Our community organizes all the local events. After DrupalCamp Moscow 2014, we've held more events than ever before. 6 meetups, 22 small meetings, a D8 Release Party and one Drupal burgers event have happened. We've had Drupal specialists from other cities of Russia and the world come to visit. New participants are always welcome here and we are seeing more and more of them." Ricardo from Drupal Mexico City
Ricardo tells us, "We held another Drupal camp in Mexico City in 2015 with 250 attendees. In 2016, our dear fellows from Axai did the same in Guadalajara.
This year, we went off the island, just like Drupal 8 has, and we organized an even broader PHP event. It was amazing. The response was fantastic, we broke all our attendance records. We've grown the PHP Mexico community & PHP Way meetups and now have 1,000 members. Our attendees could become new Drupalists. But we expect to see new Drupalists come from the Symfony world.
We decided to have only one Drupal event in Mexico per year. In 2016, it was held in Guadalajara. If nobody else wants to organize an event at 2017, we'll probably do it again. If we organize the next Drupal event, it will probably happen together with a PHP event once again. Ultimately, community growth should be in concordance with demand growth. This hasn't happen here in CDMX, we are hopeful that it will."Martha from Drupal Guadalajara
From Martha: "We attended DrupalCamp Costa Rica in September and continue being connected to the Drupal Latino Community. After Guadalajara camp, there is more local Drupal awareness. Our company has received training and quote requests since the camp."
Community Cultivation Grants do more than build connections in our community and grow our contributors. They also to help drive the adoption of Drupal.
Ivo says, "Since the roadshow, there we've met our goal of running a Drupal Academy. We now run the biggest Drupal Course at Software University in Bulgaria. We have more than 1200 registered students. Our activities were featured in the Bulgarian National Television.
We are also proud of another result of the roadshow. One of the larger Drupal shops in Bulgaria opened their second office in a small town. We introduced Drupal there."
Tom tells us, "I'm an entrepreneur and angel investor. Helping people become prepared for the digital enterprise is fulfilling to me. I want to spend more time coaching young developers with IT career decisions. To help get them learn how to use Drupal as a versatile data/content modeling tool. Which can act as a key platform to integrate with many other FOSS too. Including MERN stack, Hadoop, Spark, Docker, Openstack, etc.
Technology is always changing. What sticks is the experience you gain by contributing to an open-source community such as Drupal."
We're excited to see grant recipients building relationships in our community. You can connect with community and make more grants possible by joining the Drupal Association today.Personal blog tags: Membershipcommunity cultivation grants