The Mediacurrent team has been preparing for Drupal 8 since development first began in 2011. Four years of community-wide learning, contributing and developing have lead to this day: the official release of Drupal 8.0. It’s time to celebrate!
Drupal Art has always been special for me. Here was today’s work to celebrate the release of D8 Bahubali style. Bahubali is definitely one of the greatest movies Indian cinema has produced so far. If you haven’t had a chance to watch it yet, you should definitely consider doing it. The movie is available on Google Play Store with English Subtitles!
Later today, Drupal 8 will be released! At this time, good docs are of course crucial.
As the maintainer and de facto co-maintainer of several Drupal 8 core modules and subsystems, I spent the last several days making sure that the documentation is up-to-date for:
- the Text Editor module (editor)
- the CKEditor module (ckeditor)
- the Quick Edit module (quickedit)
- the Filter module (filter)
- the Cache system
- the Render system (specifically the render caching part)
- the Asset Library system
The following drupal.org handbook pages have been either received minor updates, received complete overhauls or were written from scratch:
P.S.: if you find anything unclear on those pages, ping me in #drupal-contribute — I want to make sure these docs are as clear and helpful as possible.
First, I'd like to congratulate all teams who worked hard to get to significant completeness of Drupal 8 translations, lead by the Ukrainian and Hungarian teams who are 100% complete and the Spanish team which is close to complete too. The French, Dutch, Danish, Finnish, Japanese and Romanian teams were also hard at work and are all over 70% translated. When you are installing Drupal, there is no special task to do to install in any of the supported languages, just select that on the first screen. The translations ready at that time will be downloaded and used.
Is it a problem at all though if a translation is not complete yet when you install? I don't think so. With prior Drupal core releases, there was a huge significance of complete translations at release time because whatever people used to install Drupal was used to create all their default configuration. Content types, fields, menus, input formats and so on. Even though we have the very handy Localization update module for Drupal 6 and 7, it could not help update configuration that was already created.
In Drupal 8 we solved that problem by applying built-in translation updates to the shipped configuration as well, so if your translation does not have complete coverage yet for the shipped views, fields, contact forms, tours, etc. those will be updated later on seamlessly. Drupal also of course supports making local changes to those which would not be overwritten later with translation updates. To take advantage of this feature (which is not enabled by default), either run a manual update at Administration > Reports > Available translation updates or turn on automated updates with cron at Administration > Configuration > Regional and language > User interface translation and sit back and enjoy your Drupal 8 continually improving with translation fixes automatically.News tags: D8MI newsDrupal planetSite news
In our search to develop a headless Drupal website, we stumbled across the XML sitemap. This is needed to inform search engines, like Google, about the organization of your site content and to submit content updates. As a result you will receive reports about indexed links, broken links, duplicate content and other errors on your Drupal website.
With this knowledge it is possible to implement optimizations and it let’s your Drupal website achieve a higher SEO score. You can post the XML sitemap in the Search console of Google (Tools for webmasters).
Generating a sitemap in Drupal is relatively easy with the XML sitemap module. This is a stable module that let’s you generate a sitemap relatively quickly.
But there is no such ready-to-use content in Node.js / Express JS. To put it in simple words, the content is loaded externally (from Drupal) and transferred to the client. But since the XML sitemap is essential for SEO, we searched for a way to implement it in Node.JS. Here’s how we pulled this off:1. Install the XML sitemap module in Drupal
With Drupal 8 just around the corner, every Drupal developer is in a nirvana of excitement and eagerness. Drupal keeps getting better and better every day and Drupal 8 will make website development and management a five-finger exercise, because this latest version of Drupal has included some amazing and potent Symfony components to serve the big businesses better.Drupal Development servicesDrupal DevelopmentDrupal 8Drupal Planet
Drupal 8 will be released at November 19th and there will be release parties all over the world. Our Cocomoris will celebrate at different locations too. Take a look, where you can meet them!
The vast majority of our projects at Gizra use Bootstrap for layout. We spend a lot of time and effort creating the perfect responsive layout and UX across all breakpoints. As Bootstrap comes by default with four breaking points, we naturally implemented them all, until we started asking ourself:
Q: Is responsive really needed?
A: Yes, Of course.
Q: Do we always need so many breakpoints?
A: No. Or, to say it differently: Yes. But not necessarily immediately.
Don't get me wrong. I'm not against responsive design. I'm just saying each breakpoint has an impact on the project length and budget. It's up to us to help the client decide how many breakpoints are right for them. As you know, Bootstrap can have custom breakpoints.Bootstrap default layout VS Bootstrap custom layout
A content management system for the masses. Sounds almost too good to be true, doesn’t it?
The issue with a mass-marketed CMS is that content needs and workflows will vary greatly from one organization to the next. So the "one size fits all” motto starts to wither in light of this fact. That’s why businesses with serious content needs ought to strive for flexibility in their CMS solution. That’s where Drupal 8 comes in.
In this series we will create a custom frontpage that introduces all the main concepts of the Views module.
Tags: acquia drupal planet
DruCall is one of the easiest ways to get up and running with WebRTC voice and video calling on your own web site or blog. It is based on 100% open source and 100% open standards - no binary browser plugins and no lock-in to a specific service provider or vendor.
On Debian or Ubuntu, just running a command such as# apt-get install -t jessie-backports drupal7-mod-drucall
Most of my experience is in server-side development, including things like the powerful SIP over WebSocket implementation in the reSIProcate SIP proxy repro.
In creating DruCall, I have simply concentrated on those areas related to configuring and bringing up the WebSocket connection and creating the authentication tokens for the call.
Those things provide a firm foundation for the module, but it would be nice to improve the way it is presented and optimize the integration with other Drupal features. This is where the projects (both DruCall and JSCommunicator) would really benefit from feedback and contributions from people who know Drupal and web design in much more detail.Benefits for collaboration
If anybody wants to collaborate on either or both of these projects, I'd be happy to offer access to a pre-configured SIP WebSocket server in my lab for more convenient testing. The DruCall source code is a Drupal.org hosted project and the JSCommunicator source code is on Github.
When you get to the stage where you want to run your own SIP WebSocket server as well then free community support can also be provided through the repro-user mailing list. The free, online RTC Quick Start Guide gives a very comprehensive overview of everything you need to do to run your own WebRTC SIP infrastructure.
I recently defended my Master of Sciences thesis with a central theme of open source, activism and Drupal. You can grab a copy here or in the article links. I started this research project in 2007, in part, life got in the way but also, I didn’t know how to tell the story.
Over the last few years we've had a wide variety of questions about removing Drupal modules, including these:
- Do I need to remove modules via the admin or the file system?
- Do uninstalled modules leave database entries behind?
- Can I just disable a module, rather than completely uninstall it?
- Should I uninstall Drupal core modules when I see that option?
In the previous tidbits we covered each language and translation capability one by one. The community translates the software interface on http://localize.drupal.org/ which you can customize with Interface translation. You can translate your local configuration and content with the Configuration translation and Content translation modules respectively. However, actual real life use cases are never clear cut like that. Content shows up with some shipped interface elements, local configuration and content. Menus contain elements from code, content and configuration. It is good to know how these pieces relate so you can translate every piece and know the right place to do it.
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