The Weather Report Card is an open-data weather forecast grading system that evaluates forecaster’s reliability and predictions’ accuracy.
It aggregates data from Environment Canada and organizes it in reports to compare temperature, rain and warning predictions versus actual weather. The system then evaluates the forecast’s accuracy and grades it.
On the site, users have a variety of ways to view daily conditions grading:
- View the grade of daily forecast conditions;
- View current conditions and what their previous predictions were;
- View a calendar with a monthly view of conditions; or,
- Go old school and compare the daily data themselves
Users can review a forecast performance by city over the period of their choice and tweet about it. The portal also tweets on a daily basis forecasts performances by city.
Our goals for this portal were:
- Measure Performance: We wanted to provide citizens with a method to evaluate how accurate is the data they look at on a daily basis. The data is available but never evaluated.
- Build knowledge with Data: Per definition, Open Data is data that can be freely used, shared and built-on by anyone, anywhere, for any purpose. It is key to government transparency, but does not give us value if it is not transformed into facts.
- Promote Open Source: This project was possible thanks to open-source software and open data. We wanted to highlight how the web is made of amazing projects powered by a strong community. By aggregating and manipulating data, we’re able to give insights on things that concern Canadians.
- Showcase Drupal’s capabilities: This was also a way of showcasing some of what we can do using the Drupal CMS. This software has gone from an alternative to WordPress to a powerful, enterprise-level software with many different applications, including open-data portals like the Weather Report Card.
- Have fun, and spread the fun: Canadians love the weather, so we wanted to give people a bit more context to talk about when chatting about the weather. By integrating this in with Twitter we’re making it easy for people who are thinking about the weather to connect to our reports.
We’ve automated the module scanning on D8upgrade.org, it’s now dead simple to request a report. Tell us the URL of your Drupal site and your email address and we send you an upgrade report...
A couple of weeks ago a Chief Digital Officer (CDO) of one of the largest mobile telecommunications companies in the world asked me how a large organization such as hers should think about organizing itself to maintain control over costs and risks while still giving their global organization the freedom to innovate.
When it comes to managing their websites and the digital customer experience, they have over 50 different platforms managed by local teams in over 50 countries around the world. Her goal is to improve operational efficiency, improve brand consistency, and set governance by standardizing on a central platform. The challenge is that they have no global IT organization that can force the different teams to re-platform.
When asked if I had any insights from my work with other large global organizations, it occurred to me the ideal model she is seeking is very aligned to how an Open Source project like Drupal is managed (a subject I have more than a passing interest in).
Teams in different countries around the world often demand full control and decision-making authority over their own web properties and reject centralization. How then might someone in a large organization get the rest of the organization to rally behind a single platform and encourage individual teams and departments to innovate and share their innovations within the organization?
In a large Open Source project such as Drupal, contributions to the project can come from anywhere. On the one extreme there are corporate sponsors who cover the cost of full-time contributors, and on the other extreme there are individuals making substantial contributions from dorm rooms, basements, and cabins in the woods. Open Source's contribution models are incredible at coordinating, accepting, evaluating, and tracking the contributions from a community of contributors distributed around the world. Can that model be applied in the enterprise so contributions can come from every team or individual in the organization?
Reams have been written on how to incubate innovation, how to source it from the wisdom of the crowd, ignite it in the proverbial garage, or buy it from some entrepreneurial upstart. For large organizations like the mobile telecommunications company this CDO works at, innovation is about building, like Open Source, communities of practice where a culture of test-and-learn is encouraged, and sharing -- the essence of Open Source -- is rewarded. Consider the library of modules available to extend Drupal: there can be several contributed solutions for a particular need -- say embedding a carousel of images or adding commerce capability to a site -- all developed independently by different developers, but all available to the community to test, evaluate and implement. It may seem redundant (some would argue inefficient) to have multiple options available for the same task, but the fact that there are multiple solutions means more choices for people building experiences. It's inconceivable for a proprietary software company to fund five different teams to develop five different modules for the same task. They develop one and that is what their customers get. In a global innovation network, teams have the freedom to experiment and share their solutions with their peers -- but only if there is a structure and culture in place that rewards sharing them through a single platform.
Centers of Excellence (CoEs) are familiar models to share expertise and build alignment around a digital strategy in a decentralized, global enterprise. Some form multiple CoEs around shared utility functions such as advanced data analytics, search engine optimization, social media monitoring, and content management. CoEs have also grown to include Communities of Practice (CoP) where various "communities" of people doing similar things for different products or functions in multiple departments or locations, coalesce to share insights and techniques. In companies I've worked with that have standardized on Drupal, I've seen internal Drupal Camps and hackathons pop up much as they do within the Drupal community at-large.
My advice to her? Loosen control without losing control.
That may sound like a "have-your-cake-and-eat-it-too" cliche, but the Open Source model grew around models of crowd-sourced collaboration, constant and transparent communications, meritocracies, and a governance model that provides the platform and structure to keep the community pointed at a common goal. What would my guidance be for getting started?
- Start with a small pilot. Build that pilot around a team that includes the different functions of local country teams and bring them together into one working model where they can evangelize their peers and become the nucleus of a future CoE "community". Usually, one or more champions will arise from that.
- Establish a collaboration model where innovations can be shared back to the rest of the organization, and where each innovation can be analyzed and discussed. This is the essence of Drupal's model with Drupal.org acting as the clearing house for contributions coming in from everywhere in the world.
Drupal and Open Source were created to address a need, and from their small beginnings grew something large and powerful. It is a model any business can replicate within their organization. So take a page out of the Open Source playbook: innovate, collaborate and share. Governance and innovation can coexist, but for that to happen, you have to give up a measure of control and start to think outside the box.
It’s November 2015, and Drupal.org is rolling out Drupal 8 release candidates! Heck, Drupal 8 is coming out this week. For many devs, that means we need to figure out how to install, sync, and set up a site theme. Here at ThinkShout, learning is part of the job - we have dedicated time every week to learn new things and share them, be it in a blog post, at our weekly engineering meetings, or at our weekly team lunch.
For the last few months, we’ve made learning Drupal 8 our singular focus. The ‘D8 Bookclub’ has been getting assignments, doing their homework, and sharing their findings internally. We’ve now spent enough time with Drupal 8 that we can share what we’ve learned, the little gotchas and hard-to-find code snippets, as well as the general change in philosophy that has occurred in the shift from D7 to D8.
We generally agree that one of the things keeping people from digging into Drupal 8 is the difficulty of getting it installed and running in a deployable way, which is a must-have if you want to have a team working on a project. This article will walk you through Drupal 8 installation and configuration sync. The follow-up article (Up and Theming with Drupal 8) will cover theme setup and configuration, so that you can finally get going with theming in D8.Installing Drupal 8
The composer install method is being widely proposed as the replacement for drush make. The composer.json file is to composer install what a drush make file is to drush make. The drupal-composer github repo has a composer template called drupal-project that will get us up and running with just the basics necessary to have a working site.
The composer template mentioned above works great for a basic D8 install, but if you want it customized (additional packages, post-install commands, etc), you will have to:
- download the full composer profile
- unzip the files
- update the composer.json and scripts/composer/post-install.sh files
- run composer install locally.
This is the method we’ll be using for the rest of this post.
Next, download the full composer profile, and unzip it into an appropriate local directory (We use a ~/Sites/ directory to hold all of our projects).
Note: the Drupal Composer project updates regularly. If you run into any errors, re-download it. You could alternately create an installation profile in the web/profiles folder, but that seems to be a tad under-documented and still not fully baked.
Now that we have a default site scaffold in place, we can get back to the post-install method. If you want to run the site installer after composer installs Drupal, in the post-install.sh file, you would add:cd web;drush si --site-name="SITENAME" --db-url=mysql://root:PASSWORD@HOSTNAME/DBNAME -y;cd ../
For the above, replace SITENAME, PASSWORD, HOSTNAME(we use localhost) and DBNAME.
One of the D8 Bookclub challenges was completing the installation without any warnings appearing on the Status Reports page at /admin/reports/status. We also want to specify the configuration sync directory, so that it’s not site-unique.
The trick here is to use a series of permission and site config tweaks. After the site install code above, add the following to your post-install.sh:chmod 777 web/sites/default/s*; #Prepare the custom sync directory, which will sit outside of the web root if [ ! -d configs ] then mkdir -m777 configs fi echo "\$config_directories['sync'] = '../configs';" >> web/sites/default/settings.php echo "\$settings['trusted_host_patterns'] = array('SITENAME\.dev$',);" >> web/sites/default/settings.php; chmod 444 web/sites/default/s*; chmod -R 777 web/sites/default/files;
This will make the settings.php file editable, create a sync directory below the web root (bonus security!), add the sync directory path, add the trusted host pattern (a new D8 requirement), secure the file, and make the web/sites/default/files folder globally writable.
Now you’re ready to run the installation! From the base directory, run:composer install
This will take a while, since it’s downloading Drupal and all the modules. After initial installation, perform a full export and an immediate import/sync of your site configuration profile. This can be done two ways:
Via the gui: /admin/config/development/configuration/full/export
Save this export file! Any subsequent sites will need this as a starting point so that entity mismatches don’t occur.
Via Drush (run from the /web directory):
This will export and then sync all of your config files in the configuration directory we specified in the post-install script.
You would then check in this version of the site - a commit message such as ‘Base Site profile’ would be helpful. Here’s a quick set of command-line git repo creation commands, starting with an installation of hub, the command-line wrapper for GitHub (this will allow you to use GitHub’s 2-factor authentication):brew install hub git init hub create git add . git commit -m 'Base Site profile' git push --set-upstream origin master
After that, you can check out additional sites by creating a directory, cd into that directory, and running a git clone command inside it, such as:git clone firstname.lastname@example.org:USER/REPOSITORY.git .
Now you can run `composer install to build your clone.
Optional: edit the post-install.sh prior to runningcomposer install` if you’d like your clone to have a different hostname, db, etc.Syncing Sites
Site configurations are only exportable to sites that have the same UUID and have synced using the shared base configuration profile. To find your site’s UUID, cd to the web folder of the base site, then run drush config-get system.site. After that, any new site can be synced using these steps immediately after a fresh install (either via download or Git clone):drush config-edit system.site (Update the UUID to match the base site)
If you manually saved the files, upload the base site config profile, but do not sync it
If you cloned the repo, the files should be in place. If the git repo has moved beyond the base install, check out the repo at the ‘Base Site Profile’ stage mentioned above using git reset --hard $SHA1 (where $SHA1 is the SHA of the Base Site Profile)drush config-import --partial
Important Note: Every new instance MUST start with the same base configuration profile, otherwise you may have entity mismatch issues, even with the partial import. After the initial sync is complete, you can pull in config files via Git and sync will work as expected, even over multiple configuration changes.Creating a Theme
This will be covered in our next post: "Up and Theming with Drupal 8."Disclaimer
The post was written at the end of 2015 while Drupal 8 was still in a Release Candidate stage. While some effort will be made to keep the post up-to-date, if it’s after 2016, you should probably be adding the year you are currently in to your Google search, or better yet, check the docs on Drupal.org.
We in NFPservies have some client using secure.Worldpay as their payment processor and it was always an issue in making it work and now worldpay has introduced online.worldpay gateway with API reference which are easy and quicker than before
Earlier in secure.worldpay gateway we use to redirect from CiviCRM to secure.worldpay website and process all the card details and then it will be passed over to CiviCRM website and we process the details. But, In Online.Worldpay we are using API for creating Tokens and Card Authorize. so no more redirection also the processes is straight forward and quicker
This Extension is based on Online.Worldpay.com - https://online.worldpay.com/
Please make sure you have an account with https://online.worldpay.com/
To install the uk.co.nfpservice.module.worldpay, move the uk.co.nfpservice.module.worldpay directory to your civicrm Custom extension folder directory and Install the extension.
HOW TO USE
Please obtain the service key and client key from your online.worldpay.com account setting
This extension uses https://api.worldpay.com/v1/ api for accessing the website. This link might change from time to time so please make sure you are using the correct URL given by your Online Worldpay Account.
For more documentation regarding the API please refer to https://online.worldpay.com/docs
- Recurring Payment.
- Webhook Integration.
This module was developed based on CiviCRM 4.6 and Drupal 7.x. - hasn't been tested in any other version.
Please give a test and if you want to use it in lower or higher version. Please feel free to contact me if you have any issues. You can find the contact details at the footer of this document.
Currently tested in CiviCRM 4.6 / Drupal 7.x with Webform CiviCRM Integration 7.x - 7.14
you can download the Extension from CiviCRM Extension folder or from GitHub https://github.com/rameshrr99/uk.co.nfpservice.onlineworldpayAttachmentSize uk.co_.nfpservice.onlineworldpay.jpg195.45 KB CiviCRMDrupalExtensionsv4.6
Last Saturday Oskar and Dirk from the ERPAL Platform Team went to UX Day Graz 2015. A small community conference on user experience, interaction design and usability.
The event had 3 Keynotes as well as some showcases from the community.
The Keynote by Eric Eggert from the W3C Web Accessibility Initiative showed how small changes in markup can already improve accessibility by a lot. He demonstrated this by showing button markup and providing the readings from a screenreader. But also delivering fallback solutions for other disabilities is not that hard.
Regulations, like for example BITV in Germany to make governmental websites accessible or the BGStG in Austria to make every website accessible from 1.1.2016 on, show that accessibility is not only a nice thing to have, but also required by law.
Other than that, there are millions of people with disabilities using the internet. To be exact about 15% of the worlds internet users have some kind of disability. So you exclude a lot of people by not making your site accessible. More information on making websites accessible including the WCAG guidelines and easy to follow tutorials for beginners can be found on at the Web Accessibility initiative.
In his keynote Philipp Sackl, Lead Designer for Firefox, talked about building empathy with your audience. It was interesting seeing an example where he thinks firefox has improved the user experience and where it still needs lot’s of work. His opinion on designing for user experience showed us that user experience is something than can be improved by precise planning. But one major take home lesson is that you should never rely on your knowledge, you always need to test and get feedback from your target audience. You as a designer or developer are the pro user of your system, so you are biased before you even use the software. Get out there and collect data about how non experienced users use your software, that the only way to improve usability and user experience. Interesting as well was his opinion on how much influence you can have with making decisions, even with the bad ones. He showed us how a user had to search 2 minutes to solve a simple task. Assuming that every of the million users was wasting 2 minutes with this task he feels like firefox was wasting a lot of the worlds time.
In his talk on "Visual Search and Analysis“ Tobias Schreck, Professor at Graz University of Technology, explained some approaches for visual search. His argument was to make visual interfaces interactive to get the most from it. He showed some interesting projects and how they helped retrieving valuable information form big sources of information. The talk showed again how much potential is in data visualization and how easy it can be to extract information if you choose the correct format.
In the Panel Discussion follwing the Keynotes Eric Eggert, Tobias Schreck, Keith Andrews and Heinz Wittenbrink were discussing the future of UX. The main points: content is always the most important thing do deliver, so you don't need to talk about user experience when you don't deliver interesting content. In future a lot of will focus on user testing with prototypes, made with special prototyping tools or html dummys. And one of the hottest topics at the moment is data visualization as it makes it easy to review large numbers of for example measurements. Providing easy to undarstand and oversee data improves the users experience by a lot.
On the picture (f.l.t.r) Oskar Bechtold, Chair Keith Andrews (Graz University of Technology), Vice-Chair Konrad Baumann (FH Joanneum) and Dirk Peter.
Drupal 8 is set to be released this week and it promises to be the best version of Drupal yet.
In these two videos, Rod will show you how to install Drupal 8 at your host or on your computer.
Drupal 8, a collective work of 3.3k contributors from 90+ countries, after more than a couple of years of development with more than 200 new features and improvements finally reaching a milestone and limelight. Tentatively 1232 companies have supported its development.
For Drupal specialized companies like KnackForge this is a momentous occasion. We are feeling excited about the release of Drupal 8. KnackForge is proud to join hands with Drupal Chennai Group and other Drupal shops in Chennai along with other Drupal groups around the world in hosting a release party on Thursday, November 19th, 2015!
We celebrate the party in honor to appreciate the great efforts of thousands of contributors all over the world! Let’s do it together!
Please sign up at Event posted on Groups.Drupal.org. Grab your Drupal 8 T-shirt for free. Limited offer only, please RSVP sooner.
This week's new video class is "Managing Multiple WordPress Sites With ManageWP".
Managing multiple WordPress sites can be a challenge. There are always updates, comments and more to deal with. ManageWP is a great solution.
In this class, Topher takes you through the basics that you get for free and shows the benefits of easy site maintenance that ManageWP brings to your workflow.
Drupal 8 the newest version of the Drupal content management system is around the corner and will be released Nov 19. PHP7 - the newest generation of the PHP language powering Drupal - will be released later in 2015.
PHP7 features lots of new things, but the most significant part is a 20-50% speed increase, which comes from the completely rebuilt Zend engine VM that powers PHP under-the-hood.
The new code is not only easier to understand, but also cleaner, faster and doing much less memory copying.
However as with all bleeding-edge software there are bugs and sometimes those bugs can be so tricky that during normal development they do not occur. In fact the bugs Drupal 8 found pushed the release date of PHP 7 back - http://news.php.net/php.internals/89102 - but more to that later in this post. So when should you switch?
Drupal 8 already early on had a plan to support PHP7 out of the box with Drupal 8. (https://www.drupal.org/node/2454439).
During that effort by several Drupal 8 contributors, bugs and segfaults have been reported to the PHP team (bugs.php.net) and also incompatibilities have been resolved in the Drupal 8 and Symfony 2 code bases.
For example Null, False, True, which had been classes in Symfony 2, are now reserved keywords. Or Drupal 8 used the String namespace, which also now is reserved. Also Drupal 8 had been relying on uasort behavior being deterministic (which it is not) - though some cases still remain: https://www.drupal.org/node/2466097.
In the end Drupal 8's test suite did almost pass on PHP7, but there were some remaining test failures. Drupal’s tests run on DrupalCI, which is hosted and fully integrated into Drupal.org itself, supporting PHP 5.3-7, MySQL, sqlite and PostgreSQL for both Drupal 7 and Drupal 8 core and contrib modules. As the core maintainers wanted Drupal 8 to ship with full PHP7 support and no known bugs and, because PHP7 stable release was one week before Drupal 8's release now was the last chance to fix that. So the issue became critical again.
With the help of a 10 hour Drupal 8 Accelerate grant (thank you very much Drupal Association), neclimdul, me (Fabianx) and alexpott embarked on a journey to track down and fix the remaining really really tricky test failures. (https://www.drupal.org/node/2603152, https://bugs.php.net/bug.php?id=70805 and https://bugs.php.net/bug.php?id=70808)
They succeed after close collaboration with the PHP internals team with me (Fabianx) providing the core developers with an EC2 instance, where the bug was easily reproducible and such the PHP internals team finally tracked down the bug in the garbage collector. I reported another bug with a script to reproduce ("array_merge_recursive corrupts memory of unset items") and it was fixed within 3-5 hours after posting the bug report(!).
And such PHP7 became green on Drupal CI on Oct 30, 2015 (https://www.drupal.org/pift-ci-job/73342).
Now with it being green an incentive was started to make PHP7 the default test environment (https://www.drupal.org/node/2607222).
This incentive lead to also testing Postgres and SQLite (and those environments are now available for testing) and while SQLlite passed (yeah), postgres failed with several strange bugs.
I followed up again with the PHP team, created two bug reports (https://bugs.php.net/bug.php?id=70861, https://bugs.php.net/bug.php?id=70862) and a pull request (https://github.com/php/php-src/pull/1619), which solved many of the issues and led to overall more stable PHP7 code base as it was a weird edge case (again!).
One issue is as of this time still remaining with postgres (https://bugs.php.net/bug.php?id=70866), but I am pretty sure that the awesome PHP team will track this one down, too. (Even though Drupal CI passes now, it still fails on my test machine.)
However as we still branch test Postgres with PHP 5.5 daily and that is stable, this will only affect a minority of the users and does not affect our ability to switch to PHP7 for general patch testing (with MySQL 5.5). As of now Drupal 8 has 100% test passes with PHP 7 and MySQL, PostgreSQL and SQlite (https://www.drupal.org/node/3060/qa).
Switching to PHP7 for patch testing will allow to reduce patch test time by around 30% (from 30 min to 21 min) and it will allow us to find potential regressions early. This should reduce the costs of the testing infrastructure to the Drupal Association significantly.Lessons learned
Drupal 8 and PHP7 is an open-source community collaboration success story with close collaboration of PHP with Drupal 8 and Drupal 8 with Symfony.
Drupal 8 was able to find many many strange bugs with its very extensive test suite and being a complex application itself. That made PHP7 more stable for everyone, as well as finding Symfony/PHP7 incompatibilities earlier than they might otherwise have been discovered
Being able to run Drupal 8 on PHP7 directly and know that it will work is a huge benefit to Drupal 8 itself. In fact I also switched over my own Drupal 8 development environment now to PHP7, which means I can test my code faster.
Running and switching your test suite to PHP7 not only will give you confidence that your application is well supported on the newest PHP version, but it will also give you beneficial speed improvements.
All of this means that Drupal 8 and PHP 7 will be viable for production more or less as soon as they reach stable releases, so that real sites can take advantage of the ~30% performance improvement relative to PHP 5.6.
Midwestern Mac, LLC: Celebrate Drupal 8 in St. Louis, MO on Nov 19 - Food, Drinks, and a Raspberry Pi!
On November 19, the St. Louis Drupal Users Group is having a party to celebrate the release of Drupal 8, which has been 4 years in the making! The party will be hosted at Spry Digital in downtown St. Louis, and will have beer provided by Manifest, food and drinks provided by Spry, and a Raspberry Pi 2 model B giveaway sponsored by Midwestern Mac!
Drupal 8.0.0 has been built by over 3,000 contributors in all corners of the globe, and will help kick off the next generation of personalized, content-driven websites. During the meetup, we'll build a brand new Drupal 8 site on the Raspberry Pi using Jeff Geerling's Drupal Pi project, and we'll highlight some of the awesome new features of Drupal 8.
After we build one of the first Drupal 8 sites, we'll give away the Raspberry Pi to a lucky winner to take home and tinker with! Special thanks to the Austin Drupal Users Group, who came up with the Pi giveaway idea!
We'll also eat, drink and be merry, celebrating the start of a new era of site building with the best version of Drupal yet!
If you'd like to join us, please RSVP on the STLDUG Meetup page: STLDUG Drupal 8.0.0 Release Party.
We just launched our first Drupal 8 website for the Northwest Atlantic Marine Alliance (NAMA). During our project retrospective, a few of us brought up how nice it was that so many contrib modules that were part of the D6 site weren’t necessary in Drupal 8 – this was a major factor in making it possible to launch... Read more »
The Australian Government launched govCMS earlier this year, a custom Drupal distribution and hosting service catering to all of the Australian government. The aim is to provide a single solution for unclassified websites using a common codebase and a shared feature set on a scalable and secure infrastructure.Tags: acquia drupal planet
The development team was recently given the opportunity to stand up a Drupal 8 REST server with the intent of improving on our D7 content server, learning what's new with the framework and seeing how our content types would fit into the revised architecture. Having just attended BADcamp at UC Berkeley, we were excited to use Drupal 8 and its new special sauce (yml, composer, console, bigpipe, twig, etc).
A few weekends ago I was fortunate enough to attend my first Drupal Camp ever. What was even more fortunate for me was that it was located near where I grew up in Chattanooga, TN. I’ve been to several leadership/business conferences in my life, but this is the first one that I’ve been to where it felt like everyone was genuinely glad to be there, even on a rainy fall day. In the spirit of open source, it wouldn’t feel right to keep all of the helpful info I learned to myself, so I wanted to take a moment and share some of my key take-aways.Selling Drupal
Bob Snodgrass from net2Community gave a great seminar on sales. He started his presentation on selling Drupal by stating "Don’t sell Drupal, sell results!" So many times we become entrenched in the technology that we use and sell, and that’s ok!, but we have to remember that clients are more interested in the results we can provide, instead of the medium we use to get there. A good example given was a donut in a donut box. People rarely care about what box it comes in, they just want the donut!
Bob also brought attention to how each team member contributes to "selling", whether they realize it or not. The interactions, work and relationships that we manage on a daily basis help clients decide if they will continue to work with us or recommend us to their work colleagues.Becoming a PM Ninja
Justin Rhodes from Commerce Guys led a good discussion on increasing efficiencies as a Project Manager. One of the first things we discussed was Parkingson’s Law: tasks will swell or shrink according to the amount of time given to them. If you use this law to your advantage, you can create small window deadlines to create efficiencies in your development process.
When it comes to planning and estimating phases for a project, Justin shared the success he has had doing this by using relativity to help the team give input. For example, rather than trying to nail down hours for each process step right way, you can tell everyone to estimate the size of the task by using shirt sizes (S, M, L, XL) to align everyone by using relative sizes. This can give the resource planner a clear visual of which parts of the project are going to take the longest. Of course, there are no complete replacements for old fashioned hourly estimates. The key to success on estimates is to check the team’s accuracy by comparing estimates against actual spend.Contributing to Open Source
Our keynote speaker was Mike Anello from Drupal Easy. He gave a great talk on why we should be contributing back to the Drupal community. It wasn’t the typical, do it because it is the right thing to do, lecture. Mike made the case that not only does contributing back to the community grow your network and visibility, but it has a very real probability of increasing your bottom line. It is easy to say that we are going to contribute, but unless you deliberately set aside time, it probably isn’t going to happen. One way to make contributing a priority is to work it into your marketing budget. Switching your perspective on contributing from a way to get karma points to a powerful marketing tool, will change your priorities around where it fits into the company’s strategy.
The last take away I got from Mike’s talk was that even those of us who are nontechnical team members can contribute back to the Drupal community. Reaching out to module owners and asking how you can help, cleaning up ticket queues on modules, confirming bugs and assisting in documentation, are all ways to help move the ball forward (and I’m told they are greatly appreciated). Don’t forget that Drupal events don’t just happen by themselves. There is always a need for folks to help with the planning and coordination of meetups, camps and conventions.Final Thoughts
Although I was unable to attend the pre and post party, I have no doubt that the enthusiasm of the group spilled into every conversation that was had. Who knows where I will be living next year (the benefits of working for a distributed company), but if I am able to, I’ll be returning to DrupalCamp Chattanooga!
(photo credit goes to @DrupalNooga)
Was trying out D8 and while “Managing Display” of a content type, noticed a new option while choosing the visibility of the label of a field.
Was wondering how they are different. Apparently when “Visually Hidden” is selected, the label is still there in the markup but not visible on browsers/screen, allowing screenreaders to be able to readout the label of the field!
Markup of the field label when set to “Visually Hidden”:
The motivation for this feature on d.o issue reads:
“As a site builder managing the display of a node, I want the option to hide field labels from sighted users, but make them visible to screenreaders, so I can make my site as accessible as possible without a custom theme.”
Had been hearing a lot about Drupal 8 accessibility features, but was pleasantly surprised to see this on my first brush with D8. Way to go Drupal! Can’t wait to see your new face in a couple of days!
A quick post for others that might experience this same problem. Last night Windows 10, with its forced updates, provided me with the big update we've all been waiting for. As I awake, ready to go to work on Drupal 8 upgrades, I tried to start my Vagrant and jump right in. Suddenly I was hit with an error about the connection being in use. Quickly I opened VirtualBox and upgraded that. Once that updated, along with the extension pack, the error still persisted. Trying to open the boxes right from VirtualBox gave me a few more details about the error, but not much more.
Drupal is an awesome CMS (content management system), but it is so much more than just your ordinary blogposting system (though you can use Drupal for that as well). But the road to your own site (and perhaps internet success) must start somewhere, and if you want to set up a local environment on your computer to play around with Drupal (or any other PHP-driven system) you need a program or software to make this happen. In this introductory screencast I show you how to download MAMP and install that on your Macintosh computer, followed by how you download and install Drupal (8, the latest version). Download MAMP MAMP is a bundle of programs, made especially for running a local server on your computer. This means that an installation of Drupal can run on your own computer, not accessible for other people, only for you. To make your webpage accessible for the whole world, you need to upload your files and database to a hosting company of some kind and get some kind of domain name and point that to your hosting companys server. But I'm getting ahead of myself. Back to MAMP. You can find MAMP at https://www.mamp.info/. Download and install the software first of all. The downloaded file ends up in your Downloads folder by default. If you choose some other folder, remember where you put it... Or download it again (yes, we have all made that mistake at least one time.) MAMP is freeware, but you can also buy MAMP Pro which is a more powerful solution if you want to handle or develop many sites simultaneously. Here, we will use the free version of MAMP for this introduction. With MAMP you also get a program called Sequel Pro, which is a program that let's you connect and handle databases. More on that later on. When the installation progress is finished, start the program and press "Start servers". When the on/off-icon turns green, your webserver is up and running. Good job! Download Drupal Next step is to download Drupal. Go to www.drupal.org and choose Download & Extend in the top menu on the page. The Download & Extend page is your first step to downloading Drupal, themes and modules (plugins to Drupal). Is this case we just want to download Drupal, so click the green button. Next up, you get the choice to download different versions of Drupal, but we want the latest version. When we made this screencast the latest version was 8.0.0-rc1, but when you read/watch this, you should just choose the latest version of Drupal, which begins with and 8 (for example: 8.0.0, 8.0.1, 8.1.x etc and so on). The download file (.tar.gz och .zip) ends up in your Downloads-folder (see above). Doubleclick it to extract the files. Get ALL the files, not just the ones you see This is a bit tricky. To make Drupal work, you need all the files you've just extracted. The problem is that some of the files are hidden, and by default Macintosh computers don't show hidden files. There are programs that let you see hidden files, but you can also make the magic happen by writing a simple command in the Terminal program. Click your Spotlight magnifying glass-icon on your computer or open up a Spotlight search via your keyboard (most likely cmd+space) and type in Terminal. Terminal is a terminal emulator included in the OS X operating system by Apple (Wikipedia), and from that you can list files, create folders etc. In short, you can do almost anything you can to in i Finder window - but more. And to make hidden files be visible you open up a terminal windows and type defaults write com.apple.finder AppleShowAllFiles YES Press Enter and on the next line, write killall Finder This sound horrifying, but it's ok, it doesn't kill something you're attached to (your kitten, your parents or your favourite snack or slippers). It just restarts the Finder application on Mac. By now, if you open the folder the the extracted Drupal files are located in, you should see some files that are halfway see-through. These are the hidden files. Not to hidden now, ey?! Good. Now on to the next step of fun and glory! Choose the web docs folder We need to place the Drupal files in a folder that MAMP can use. If you swich to your MAMP window and press Preferences you can see four tabs: Start/Stop, Ports, PHP and Web server. Click the Web server tab. Here you can see where MAMP will look for the files to execute (run) Drupal. You can choose a completely different folder if you want, but I recommend you to use the folder MAMP suggests which is: Your harddrive > Application > MAMP > htdocs If you click the round icon with an arrow you open up a Finder window that shows the content of the folder we want to use. Let's move all the files Now that we can see all the files, even the hidden ones, we can choose all the files and either drag'n'drop them in the htdocs-folder we just opened. Choose the Drupalfiles and press cmd+C if you want to copy the files, or drag the files and the folders to the htdocs folder. If you chose to copy and paste the files, just click somewhere in the htdocs window and press cmd+V to paste the copied files into that folder. It should end up looking something like this: Create a database You also need a database for Drupal to work. The database is where your content is stored, at least the text you enter as a blog post or story on your website. (Files you upload doesn't end up in the database, they are stored on the computer's hard drive.) To create a database you can use a program called Sequel Pro, that ships with MAMP. Open up the MAMP applications folder or start Sequel Pro via your Spotlight. Create a connection to the database by entering this information in this way: By default MAMP has set both the Username and Password to root. You also need to enter the port, which in MAMPs case is 8889. You can find this information under the tab named Ports, under MAMP Preferences. Back to Sequel Pro and press the blue button named Connect. If you have entered everything correct you will get connected to the database server. You should see a rather blank window like this. Choose Database in the menu and then Add database. Choose a name that's easy to remember, for example drupal. Choose UTF-8 Unicode (utf8) as Database Encoding. End this strange thing by clicking the button named Add. "Are we there yet?" Yes, yes we are. The next step is actually to start the installation of Drupal. Switch to your web browser and enter http://localhost:8888. This instructs MAMP to search the htdocs folder (where you have placed the Drupal files) and see what's there. MAMP will find Drupal's index.php that instructs Drupal to start an installation since we haven't don't that yet. http://localhost:8888 will result in this webpage: If you want some other language than English, you can choose this at this start screen. Language files will automatically load from Drupal's servers and set the default language to whatever you choose. Press Save and continue. Installations profiles Drupal can use installation profiles to make different settings to you system. In this screencast we will only use the standard one, so just click Save and continue during this phase. We will cover installation profiles in a later screencast. Database configuration Now it's time to tell Drupal where to find the database. The only things we need are the name of the database, the database username and password. We have all that so lets type them in. Database name: drupal (we entered that when we created the database earlier) Database username: root (MAMP default) Database password: root (MAMP default) Click Save and continue. Time to configure your site When you have entered the database credentials the installation starts. This will take a minute or so depending on how fast your computer is. It could also take up top 5-10 minutes if you have an older computer. During the installation process Drupal enables all the different parts of Drupal (modules) and sets up the system to make it work. We will cover the different parts in upcoming screencasts. When you see this the installation process is almost finished and it is now time to create your admin account and set the title of your website. Choose some classy and nice information for the following fields: Site name Site email address Username (this will be the first user account, the user/1 account, the head honcho, the big kahuna... you get the picure) Password (password for the big kahuna account, see above) Email address (for the big kahuna account, see above) Default county Default time zone You can also check for updates automatically. This will instruct Drupal to scan to see if there has are any new versions of Drupal and the modules you have downloaded and enabled. Good to know, but not vital if you are just playing around on your local computer. When you go live with your site, you should really see to it to keep your installation updated and secure. That's it! You are done. Drupal is installed and you can begin your Columbus-like journey through the menues and structure of Drupal. In the left part of the website you have the option to create content. Choose to create an Article for example and see what happens. We will make more screencasts on Drupal to make you discover more of Drupal. Check us out on Twitter, our RSS feed or YouTube channel to get continuous updates. Take care!