This module provides support for Daily motion for Media Entity.
In this post, you will learn how to create a custom date format for Drupal 7.Read more
Integrate Intercom with your Drupal website. The Intercom module provides an easy method
to set-up the live chat functionality for the Intercom service and provides the Intercom PHP-SDK as a Drupal service for integrating modules.
Currently the simplest and only supported way to install this module is using composer.
composer require drupal/intercom
The benefits of Rich snippets and how to implement structured data in Drupal 8 to enhance the way your pages are listed by search engines.
In the early part of running a campaign, it can be a useful exercise to take the temperature, so to speak, of the player characters’ moral compass.
I know a lot of games have that familiar spot on their character sheet for “alignment.” Players will often declare, as their character is introduced, where they land on that scale of good and evil/lawful and chaos.
Of course, for the DM, it is far more informative if a character’s outlook is revealed during the course of play. Do you have a rogue with a heart of gold? It that cleric far more selfish than he lets on? Will the sower of chaos be the first to demand a fair trial?
The party’s first wilderness journey can be a great time to put the player’s declarations to the test. Instead of rolling on the random chart to decide whether it will be kobolds or bugbears that torment the characters on the road, devise some encounters that feature moral conundrums. Then sit back, watch and take note on what transpires.
These need not be time-consuming or even taxing, in terms of combat. But they can be revealing about elements of their character’s character. Here are a few:
Lost and found
The player characters find a bag of gold or follow a trail of coins. Follow the trail and the PCs eventually overtake a horse-drawn cart. The cashbox lashed to the back seems to break or a unsecure seam where the coins are spilling out.
Little John and his merry men
Bandits try to waylay the party. There appear to be children in their early teens among the robbers. Some of the robbers appear to be well-dressed and well-armed for this business, others seem to be in rags and brandishing improvised weapons. If any of the bandits are subdued or captured, they plead for mercy, saying they only doing what they can to survive. They were tenant farmers evicted by the new lord of the land. Their families are nearby, hiding in the woods.Public punishment
The PCs come upon men and women crucified on crosses that line both sides of the road, but there are no authorities in sight. Those that still have breath plead in the tiniest whispers for “mercy.” (Perhaps a bit strong? Put the transgressors in the stocks or hanging cage, or hobbled to a post, with the remains of vegetables they’ve been pelted with laying all about.)Tax man cometh
A well-dressed official with a unit of soldiers are brutalizing a father or mother while the rest of the family is forced to watch outside their cottage or farmhouse. “If you don’t pay your taxes, I have the authority to take the lord’s share from your hide,” the official says, brandishing a whip.An intolerant bunch
An unruly mob are dragging a man or woman toward the shoreline of a river or lake. The mob is chanting “Witch!” or “Transgressor!” along with their various complaints: “My Bessie’s dried up!” “His spell my husband’s virility!” “There’s a devil riding on her shoulder!” They intend to take the person to the water for a dunking – testing the validity of the accused’s claim of innocence. (Of course, the only way to prove their innocent is if they drown, but it’s in the hands of a higher power, now, anyway.) Some folk with weapons are moving through the onlookers (including the PCs), demanding of them if they are associates of the accused, insinuating they might be a witch in league with them.Cheaters’ prosper
A village festival prepares for the big event, a horse race (or, whatever is at hand, pigs, ducks, dogs, owlbears). Someone is suspiciously hanging around the starting line, bending over and doing something to the creatures. Is he a handler, or is he trying to cheat by hindering some of the entrants?)Oh Romeo!
Two young lovers of rival clans request that you serve as lookout for one of their secret meetings. If the PCs agree, then they have been entrusted with the time and place of the rendezvous, then asked to stand watch. (If the PCs refuse, let them know that the lovers have later approached someone without scruples to be their secret keeper). Both families then send representatives (as in a goodn squad) to the PCs offering to buy information about the secret meeting.Finally, “I think I saw this in a movie”
A ragged youth clutching a loaf of bread bursts from the trees onto the road near you, takes one terrified look at you, then ducks into the brush to hide. A moment later, a patrol of knights on horseback arrive and demand to know which way the miscreant they’ve been chasing went. “The criminal is a deer slayer and a thief and must be brought to justice. He must have come this way! On your oath, did you see him and which way did he go?”
Run your players through these and see where their true colors lie. And if you have any other scenarios meant to test the player characters similiarily, I’d love to have you share them in the comments below.
This week's best longread/standout articles & videos about games include Gnog's quirky gameplay, Second Life bunny tragedy, and Snipperclips' surprising third-party story, among others. ...
This module is my vision on how to manage simple private messages dialogs in D8.Similar modules
- Privatemsg (no Drupal 8 version available)
Lightning has used the Layout Plugin module since before our first beta release. Starting in Drupal 8.3.0, the functionality provided by the Layout Plugin module was largely duplicated in Layout Discovery and released as part of the Core Experimental group. Lightning migrated to Layout Discovery in 2.1.1.
The Lightning team feels like it's a win anytime we can migrate from contrib to core. But another advantage of this is that since Layout Discovery is in Core, security issues can be filed against it in the Core security issue queue which is monitored by the Security Team. Layout Plugin, being alpha, didn't have a security issue queue.
Technically, Layout Discovery is an Experimental core module though. And the new Status Report page warns users if any Experimental modules are enabled. As a result users of Lightning are presented with this unhelpful message when they visit /admin/reports/status:
The problem is, this message isn't actionable. Lightning made the decision to enable it. The only way to disable it would be to completely opt out of all of Lightning's Layout functionality.
To be clear, the Lightning team feels that the Layout Discovery module is certainly stable enough to run predictably and reliably on production websites. This warning from core is supposed to indicate that the underlying API might change or that it might ultimately be removed from the core package. Under either of those circumstances, Lightning would provide a migration script or otherwise support users.
We feel that warning a user after they (or their site builder) has made the decision to use an experimental module is in-actionable nagging. We support warning site builders when installing an experimental module, but not constantly reminding them of that decision.
Starting in 2.1.4, Lightning will include a core patch that removes the warnings for experimental modules on the status page. The patch does not affect the existing warning that is shown during installation of experimental modules.
There are two other "nagging" warnings that Lightning will remove in 2.1.4. Specifically, it will stop warning the user if:
- The config sync directory exists but isn't writable (no reason to write to the config directory on prod, for example)
- The update module isn't enabled (update module creates overhead and updates might be handled by a separate system)
Related, there is also a larger discussion around what the requirements should be for reporting on the status page. Discuss!Summary of new patches related to reporting that will be included in 2.1.4:
To give more insight into Drupal Association financials, we are launching a blog series. This is the first one in the series and it is for all of you who love knowing the inner workings. It provides an overview of:
- Our forecasting process
- How financial statements are approved
- The auditing process
- How we report financials to the U.S. government via 990s
There’s a lot to share in this blog post and we appreciate you taking the time to read it.Replacing Annual Budgets With Rolling Forecasts
Prior to 2016, the Drupal Association produced an annual budget, which is a common practice for non-profits. However, two years ago, we found that the Drupal market was changing quickly and that impacted our projected revenue. Plus, we needed faster and more timely performance analysis of pilot programs so we could adjust projections and evaluate program success throughout the year. In short, we needed to be more agile with our financial planning, so we moved to a rolling forecast model, using conservative amounts.
Using a rolling forecast means we don’t have a set annual budget. Instead, we project revenue and expense two years out into a forecast. Then, we update the forecast several times a year as we learn more. The first forecast of the year is similar to a budget. We study variance against this version throughout the year. As we conduct the additional forecasts during the year, we replace forecasts of completed months with actual expenses and income (“actuals”) and revise forecasts for the remaining months. This allows us to see much more clearly if we are on or off target and to adjust projections as conditions that could impact our financial year change and evolve. For example, if we learn that the community wants us to change a drupal.org ad placement that could impact revenue, we will downgrade the revenue forecast appropriately for this product.
In 2017, we there will be three forecasts:
- December 2016: The initial forecast was created. This serves as our benchmark for the year and we run variances against it.
- May 2017: We updated the forecast after DrupalCon Baltimore since this event has the biggest impact on both our expenses and revenue for the year.
- October 2017: We will reforecast again after DrupalCon Vienna. This is our final update before the end of the year and will be the benchmark forecast for 2018.
Creating and approving the forecasts is a multi-party process.
Staff create the initial forecast much like you would a budget. They are responsible for their income and expense budget line items and insert them into the forecasting worksheet. They use historical financials, vendor contracts and quotes, and more to project the amount for each line item and document all of their assumptions. Each budget line manager reviews those projections and assumptions with me. I provide guidance and challenge assumptions and sign off on the inputs
Our virtual CFO firm, Summit CPA, analyzes the data and provides financial insight including: Income Statement, Balance Sheet, Cash Flow, and Margin Analysis. Through these reports, we can see how we are positioned to perform against our financial KPIs. This insight allows us to make changes or strengthen our focus on certain areas to ensure we are moving towards those KPIs - which I will talk about in another blog post. Once these reports are generated, the Drupal Association board finance committee receives them along with the forecasting assumptions. During a committee meeting, the committee is briefed by Summit and myself. They ask questions to make sure various items are considered in the forecast and they provide advice for me to consider as we work to improve our financial health.
Once the committee reviews the forecast and assumptions, then, the full board reviews it in an Executive Session. The board asks questions and provides advice as well. This review process happens with all three forecasts for the year.
As we move through the year, our Operations Manager and CFO team work together to close the books each month. This ensures our monthly actuals are correct. Then, our CFO team creates a monthly financial report that includes our financial statements (Income Statement and Balance Sheet) for the finance committee to review and approve. Each month the finance committee meets virtually and the entire team reviews the most recently prepared report. After asking questions and providing advice, the committee approves the report.
The full board receives copies of the financial reports quarterly and is asked to review and approve the statements for the preceding three months. Board members can ask questions, provide advice, and approve the statements in Executive Session or in the public board meeting. After approval, I write a blog post so the community can access and review the financial statements. You can see an example of the Q3 2016 financial statement blog here. The board just approved the Q4 2016 financials and I will do a blog post shortly to share the financial statements.Financial Audits
Every two or three years the Association contracts to have the financial practices and transactions audited. For the years that we do not conduct a full audit, we will contract for a “financial review” by our CPA firm (which is separate from our CFO firm) to ensure our financial policies and transactions are in good order.
An audit is an objective examination and evaluation of the financial statements of an organization to make sure that the records are a fair and accurate representation of the transactions they claim to represent. It can be done internally by employees of the organization, or externally by an outside firm. Because we want accountability, we contracted with an external CPA firm, McDonald Jacobs, to handle the audit.
The Drupal Association conducts audits for several reasons:
to demonstrate our commitment to financial transparency.
to assure our community that we follow appropriate procedures to ensure that the community funds are being handled with care.
to give our board of directors outside assurance that the financial statements are free of material misstatements.
What do the auditors look at? For 2016, our auditors will generally focus on three points:
Proper recording of income and expense: Auditors will ensure that our financial statements are an accurate representation of the business we have conducted. Did we record transactions on the right date, to the right account, and the right class? In other words, if we said that 2016 revenue was a certain amount, is that really true?
Financial controls: Preventing fraud is an important part of the audit. It is important to put the kinds of controls in place that can prevent common types of fraud, such as forged checks and payroll changes. Auditors look to see that there are two sets of eyes on every transaction, and that documentation is provided to verify expenses and check requests.
Policies and procedures: There are laws and regulations that require we have certain policies in place at our organization. Our auditors will look at our current policies to ensure they were in place and, in some cases, had been reviewed by the board and staff.
The primary goal of the audit is for the auditor to express an opinion on two aspects of the financial statements of the Association: the financial statements are fairly presented, and they are in accordance with generally accepted accounting principles (GAAP). Generally accepted accounting principles are the accepted body of accounting rules and policies established by the accounting profession. The purpose of these rules is to promote consistency and fairness in financial reporting throughout the business community. These principles provide comparability of financial information.
Once our audit for 2016 is complete and approved by the board (expected in early summer), we can move to have the 990 prepared. We look to have this item completed by September 2016.Tax Filing: The Form 990
As a U.S.-based 501c3 exempt organization, and to maintain this tax-exempt status, the U.S. Internal Revenue Service (IRS) requires us to file a 990 each year. Additionally, this form is also filed with state tax departments as well. The 990 is meant for the IRS and state regulators to ensure that non-profits continue to serve their stated charitable activities. The 990 can be helpful when you are reviewing our programs and finances, but know that it’s only a “snapshot” of our year.
Here are some general points, when reviewing our 990.FORM 990, PART I—REVENUES, EXPENSES, AND CHANGES IN NET ASSETS OR FUND BALANCES
Lines 8-12 indicates our yearly revenue revenue. Not only how much total revenue (line 12), but also where we have earned our income, broken out into four groups. Line 12 is the most important: total income for the year.
Lines 13-18 shows expenses for the year, and where we focused.
Cash Reserves are noted on lines 20-22 on page 1.
The 990 has a comparison of the net assets from last year (or the beginning of the year) and the end of the current year, as well as illustrates the total assets and liabilities of the Association.FORM 990, PART II—STATEMENT OF FUNCTIONAL EXPENSES
Part II shows our expenditures by category and major function (program services, management and general, and fundraising).FORM 990, PART III—STATEMENT OF PROGRAM SERVICE ACCOMPLISHMENTS
In Part III, we describe the activities performed in the previous year that adhere to our 501c3 designation. You can see here that Drupal.org, DrupalCon and our Fiscal Sponsorship programs are noted.FORM 990, PART IV—BALANCE SHEETS
Part IV details our assets and liabilities. Assets are our resources that we have at our disposal to execute on our mission. Liabilities are the outstanding claims against those assets.FORM 990, PART V—LIST OF OFFICERS, DIRECTORS, TRUSTEES AND KEY EMPLOYEES
Part V lists our board and staff who are responsible in whole or in part for the operations of an organization. These entries do include titles and compensation of key employees.FORM 990, PART VI—OTHER INFORMATION
This section contains a number of questions regarding our operations over the year. Any “yes” answers require explanation on the following page.Schedule A, Part II—Compensation of the Five Highest Paid Independent Contractors for Professional Services
We list any of our contractors, if we have paid them more than $50,000, on this schedule.
Once our 990 is complete and filed we are required to post the return publicly, which we do here on our website. We expect to have the 2016 990 return completed, filed and posted by September 2017.
Phew. I know that was long. Thank you for taking the time to read all of the steps we take to ensure financial health and accuracy. We are thankful for the great team work that goes into this process. Most of all we are thankful for our funders who provide the financial fuel for us to do our mission work.
Stay tuned for our next blog in this series: Update on Q4 2016 financial (to follow up on our Q3 2016 financial update)
This module comes with a handy random alphanumeric code generator widget . This widget has a setting which allows administrator to set the number of digits that the alphanumeric code will contain for each instance of the field.
During the development of Paragraphs LandingPage Framework I just found that it will be good to have Theme Switcher Field separately because it can be very useful not only inside Landing Pages.
The important first step for media support in core just landed in Drupal 8.4.x: a new beta experimental Media module to support storing media of various types. While Drupal core already has generic file upload and image upload support, the new module will support asset reuse and be extensible to support video, remote media, embedding, and so on.
This is a huge testament to individuals and organizations with shared interests pulling together, figuring out how to make it happen in core, and getting it done. 89 individuals (both volunteering their own time and from various companies all across the world) contributed both directly in the core patch and via involvement with the contributed Media Entity module:
That said, this is just the first step. (If you go and enable the core Media module, all it can do right now is give you an error message that no media types can be created.) The next steps are to add a file/document media plugin and an image media plugin so these types of media may be created on the site with the module. Then, widgets and formatters for the upload field and image field interfaces will be added so we can reproduce the existing core functionality with media. Adam Hoenich wrote up a concise summary of the next steps, and granular details are listed in the followup roadmap.
There are definitely more tasks than people available, so your contributions would be more than welcome! Now is the time to make sure media is integrated in a way that your projects can best utilize it. Get involved through the media IRC meetings happening at 2pm GMT every week in #drupal-media. (See https://www.drupal.org/irc for more information on Drupal IRC). Or, if you are available at other times, ask in the channel. The issues are listed on the Media Initiative plan.
Let's put the remaining pieces in place together!