Skip to main content

Drupal 7 users usually struggle to set up an effective system of moving to live sites. If you change any settings on a development  site, it is very difficult those settings to move live. Drupal 8 new configuration system is set to resolve all these issues Drupal developer is facing.

Drupal 8 provides new ways to tailor and deploy content that looks great on any mobile device. However when you work with Drupal, there is always something is there in Drupal 8 for you to love.

Code driven development in Drupal 8

Drupal 6: Features module is used export configuration to PHP code.
Drupal 7: Features modules brings more functionalities, but relying on third parties and it is incomplete.
Drupal 8: Content and configuration are being separated and configuration is text-based.

Drupal 8 Configuration Management System
In Drupal 8 new configuration system it is easy to get a copy of the development site with the changes and import those changes into the live sites.

There are two types of configuration in Drupal 8:

  1. Simple configuration
  2. Configuration entities

Simple Configuration

Simple configuration will store the basic configurations such as integers, boolean values or texts. Simple configuration has one version, and similar to using variable_set()  and variable_get() in Drupal 7.

Configuration Entities

Configuration entities including content types will enable the creation of zero or more complex. Examples of configuration entities contains content types, views and image styles.

Configuration can override in settings.php as in drupal 7. These overridden $config variables has high priority than values provided by modules. It is a good method for storing sensitive data.

The configuration system implements Drupal\Core\Config\ConfigFactory::get() to override $config variables.

How Configuration Management Works?

Configuration files are found inside the /config/install/ directory. These files will be created when a module is first installed and will not be used on module update.

After installing Drupal 8, two random named directories will be created in the public files folder. Generally that will mean the directory for sync files is in /sites/default/files/  and can change this location by an instruction.

 

An active directory is to keep currently active configuration. Active configuration will be stored in the database and done by the way for performance and some security reasons. Also it can push the configuration storage to use the file system using Configuration Tools module.

The staging directory is the place from where the configuration is synchronized/imported and it is empty until the configuration will be exported/imported.

Drupal 8 UI For Configuration management  
Configuration > Configuration synchronization.

Synchronize: Synchronize the changes from a file that you have imported.
Import: This allows you to import sync changes from the other sites.     

User interface settings for Configuration Management are very easy, but still have significant limitations such as:

  • Can't select multiple component at once and can't select a content type as well as multiple fields.  
  • Single features can't be exported into a file and can copy-and-paste the details.

Features module can be used for more advanced configuration management system. Import configuration settings can't be done until both the exporting and importing sites should have exactly the same UUID.

Drush Configuration Management
Drush is a wonderful shell interface to manage Drupal cloud server command line. It is a very useful tool to perform various tasks using a single or few commands, and to avoid many clicks and page refreshes in the UI.

Drush config commands used In Drush 8
drush config-export - exports the configuration to your sync directory.Current contents of your export directory (called "sync" by default) will be deleted.
Config-export - Export the configuration to a directory.

 

Social media is today’s hottest trend that is transforming millions of lives all over the world. Social media is everywhere. Social media has a significant impact our social, online and mobile experience. The immense popularity of Facebook, Twitter, Linkedin, Pinterest and Foursquare are changing the ways we communicate with the large audience. Businesses have adopted social media to reach out to customers and promote their brand.  Drupal has an array of social media modules and plugins that improve its social media presence. Drupal enables business site owners to interact with their clients at the highest level and brings high quality traffic to the website. Here are some fantastic tricks that can turn Drupal into a social media phenomenon with better fan following:

Blogs:  A blog will allow social activity and will act as a source of creativity, innovation and ideas on your site.

Social commenting: Website users can post comments on the blog and spark discussions to boost your site.

Social login: Users can login with Facebook, Twitter, Google plus and more.

Social sharing: Social media is about sharing content with several people and encourages social seeding. Readers can share, bookmark and email articles and web pages using Facebook, Twitter and social bookmarking sites.     

Mobile: Drupal can be optimized with social networking features with the ability to provide responsive mobile support. Drupal developers can integrate advanced social networking features with mobile content delivery and localization, in real-time, to target customers.

Facebook: This is the top notch social media platform that is accessed by over a billion users everyday. Drupal helps you to integrate Facebook plugins to the website and add the ‘Like’ button to the content.

Twitter: Drupal allows you to add a Twitter button to your site with the ability to share content in a great way.

Activity Stream: It creates a live stream of social activities on Facebook, YouTube, StumbleUpon, etc. in one place making it a great tool for community sites.

Social Bookmarking: Integrating social bookmarking sites like Digg, Delicious, and many other sites into Drupal allows users to share content on the website in a simple and easy way. Your reach is worldwide.         
 

Do you want to provide better services to students and faculty and expand your institution globally? Bring your community closer with a right education solution that is designed to help institutions create pre-designed forms & letters, search for course catalog, provide mobile access and boost communication between faculty, students, management, and parents and more. Go through this blog and find major reasons for having a content management system for your college or university!
 
Drupal is one of the most popular content management system across the world and is currently being adopted by massive organizations like the Whitehouse, McDonald’s, The Economist and many others. The key pain points in higher education institutions is its inability to connect and collaborate with its stakeholders. Moreover, it is becoming increasingly difficult to customize website to reflect their brand. Colleges and Universities are moving to Drupal and focused on recruitment and retention of students.  With Drupal development, institutions can achieve huge cost savings and improve productivity. Here’s a list of ten instances why Drupal solution is appealing to higher education institutions:
 
Multi-user content management
 
Drupal has a user-friendly interface that allows students, faculty, management, staff and parents to upload data, share any media and spin up a new site in minutes. 
 
Profiling
 
Students and faculty can create and edit profiles with unlimited custom categories and fields including demographic data, enrollment, schedule and more, and share academic records with administrators.
 
Highly secure
 
Role-based security access to information enable college administrators to control data shared between students, teachers and parents. 
 
Reusable content
 
Providing your institute community with an online and mobile alternative allows students, staff and faculty to create and reuse content through faculty pages, photo gallery, streaming videos, directories, blogs, news, and events. 
 
Customizable
 
Drupal is highly customizable, scalable, flexible, feature-rich and high performance website with unmatched user experience to meet the needs of 21st century education institutions.
 
Automated workflow tools
 
Drupal allows individual users to automate repeat tasks through auto-assignment & approval processes, WYSIWYG form, role-based access control, KPI-based reports, automatic status tracking, notifications, and more.
 
Search engine friendy
 
Drupal allows you to optimize massive amount of content for major search engines such as Google, Bing, and Yahoo and help you to build your brand and improve online reputation.
 
Surveys & feedback forms
 
Create custom forms and fields using Drupal web forms to collect information for registration, faculty/course evaluation, surveys, polls, questionnaire, quizzes, feedback, and more.
 
Mobile accessibility
 
Using mobile-first and responsive design techniques, Drupal offers the best way to deliver website content on different mobile and tablet devices with the least learning curve. Drupal to mobile service provides an easy way to build a multi-platform mobile app for iOS and Android with user-friendly design and native-look alike.        
 
Social media 
 
Drupal makes it easy to integrate all of the social media platforms such as Facebook, Twitter, LinkedIn, Pinterest and more. Students, faculty, staff and alumni can share content and improve their interactions across social channels.  
 
Multilingual support
 
Drupal provides multilingual support and enable education institutions to make available website in multiple languages with good content translation and reach out to overseas students to drive website traffic, increase enrollment and gain competitive edge.  
 
If you need a College Management System designed for the unique complexities of higher education optimized for colleges & universities, then Anubavam offers the right Drupal solution for your institution.  Anubavam is an expert Drupal development company that has built a diverse range of websites and mobile apps for a wide range of global clients and enterprises, ranging from small and large corporations to Fortune 500 companies.
 

Drupal is one of the most popular open source content management system written in PHP and MySQL. Its functionality and usability are far greater than any other system, as it combines ingenuity with simplicity. When you want to build a high performance website, choose Drupal as it is highly flexible and scalable. Complex functionality and dynamic web pages can be developed using many out-of-the box modules provided by Drupal and customized according to your requirements.

Drupal development provides so much, but people make some common mistakes. Avoid these 10 costly mistakes:

1. Wrong folder structure

Using a wrong folder structure and installation of themes and modules at the root levels is a major mistake. Follow the right directory structure to the themes and modules as it will be hard to upgrade and debug.

2. Excessive coding

Avoid excessive coding on the site to implement the required functionality and use the Drupal modules to achieve the goals. Drupal provides core and contributed modules to solve most of the problems. But Drupal developers need to assess the risks associated with the beta or alpha version of modules as they might identify the deficiencies.

3. Hack core files and themes

Hacking the core files and themes makes your site vulnerable to hacking and it becomes almost impossible to apply security updates on your site. So don’t hack core.

4. Wrong module configuration

You must learn about the modules and its interdependencies before you configure and install on your site. Sometimes wrong configurations can lead to bugs or risks of security issues on your site.

5. Inefficient performance

Inefficient performance leads to increase in load time and leaves your site visitors frustrated. Aggregate CSS and Javascript files, configure caching and remove unused modules which will maximize the site performance.

6. Not backing up site

Take backups before making major updates or upgrades to their site. This will restore all your data in case of a major issue during updates or in case of data loss. This will also save precious time.

7. Not W3C-Compliant

Not following the w3c coding standards and guidelines is one of the major mistakes. Following the W3C guidelines ensures error-free and accurate coding.

8. Not implementing security policies

Not providing the suitable roles and permissions on your site can affect your site security. Always ensure that you authorize roles and permissions to users and no one is exploiting your site.

9. No anti-spam control

Always safeguard your site with anti-spam control measures, otherwise your site will be flooded with spam content. So take necessary precautions and enable spam control in comments and content.

10. Not selecting the right hosting service

You have done all the hard work, but selected a wrong host for your site. Your site passes through three different phases - development, deployment, and maintenance. Always use version control system VCS and keep your site (code and modules) up to date and select the right host who can handle spikes in your site traffic.

If you want to create a new website for your business or migrate from your HTML website, it is worthwhile to point out that building a website has become easier and faster using a content management system (CMS). Gone are the days of hard coding with HTML and PHP to create a full featured website. Thanks to the capabilities of open source CMS software, people no more need to break their laptops and log on to their website or blog.

There is an array of content management systems which are developed and backed by a strong community. There are three most common and popular open source CMS platforms for building websites – Drupal, Wordpress and Joomla. They have striking similarities. They are written in PHP programming using MySQL database to manage content, and licensed under free GNU General Public License (GPL). There are a number of themes and modules contributed by the developer communities.

There is not one-size-fits-all approach to choosing the best CMS according to your business goals, budget and requirements. Below is a description of the three top open source CMS tools as a starting point for businesses to choose the right CMS in terms of functionality.

Drupal

Drupal is one of the most successful CMS platforms with a large eco system of modules, themes, templates and supported by a strong community of loyal drupal developers who are always willing to contribute to Drupal. The CMS software is simple, flexible and scalable which leverages an array of tools to organize complex content for developing websites. However, Drupal development needs a high degree of programming knowledge for providing custom features and functionality compared of the all three CMSs. Drupal provides highly dynamic features to create advanced and versatile websites for eCommerce, governments, community, blogs, social networking, education, restaurants, and much more. Drupal is also SEO-friendly and sites built with Drupal ranks high on search engines than Joomla.                         

Wordpress

Wordpress is a blogging platform with innovative and user-friendly features using exquisite themes, templates supported by a comprehensive documentation. The blog software is easy to install and manage a site, which is its strongest point. You can tweak your blog with a wide repertoire of themes, plugins, and widgets. A wordpress developer needs no technical expertise, unlike Drupal. However, the CMS software is known for ease-of-use to build simple blogging and news sites even by non-technical users.

 Joomla

Joomla is sandwiched between Drupal and Wordpress when it comes to user-friendliness, capabilities and developer community support. Joomla offers a middle ground in terms of complexity and ease-of-use with regard to installation and deployment. You can run managing complex sites like blogs, newsletters, and everything using Joomla. It has beautiful themes, templates and extensions that cater to both designers and developers. You can create advanced websites using Joomla with relatively little effort in knowing about the structure.   However, when it comes to providing custom design and features it is complex, more so if you are not familiar with coding and web development.

Conclusion

Using Drupal or Wordress or Joomla - which one is the best? If you are looking to build a simple site for blog or news, Wordpress is the preferred choice and user-friendly for the non-technical wordpress developers. If you need a robust, scalable, secure and a highly customized website, Drupal offers the most complex solutions that you need. Drupal developers are passionate and strongly back the Drupal platform. Joomla also has a dedicated developer community support through forums and even books. It is ideal for an easier learning curve with ready-to-go templates. Still not sure? Please contact us and we can help you decide the right platform for you.

Getting your business started is incredibly challenging. There are several issues you are required to face. Successful businesses grow their business when they learn and adapt themselves to change. Building your business online and sustaining and growing it rapidly is a real challenge.

Drupal is an open source content management framework with an array of features which enable organizations to customize and scale up the Drupal development framework tailored to their specific requirements.  

With Drupal, you need not build your website from scratch. You can build almost anything with Drupal with minimal to no hard-coding. Using Drupal developers you can build a beautiful web app along with a responsive design formatted for multiple mobile platforms. H</a>ere are ten great ways to grow your business and stay competitive:

1. Move Your Database to Drupal

Export your data from the legacy website keeping all the data intact. Import the data from CSV files and build a robust, high-speed, SEO-friendly Drupal website.

2. Marketing Automation

Streamline and automate the entire operational process to help businesses of all sizes to build a CRM on top of Drupal and increase results. Connect your customer with Drupal-based CRM and make an immediate business impact.

3. Deploy Modules & Themes

Assemble ready-to-deploy modules to achieve your vision. Keep the visitors engaged with out-of-the-box themes to enhance credibility and reputation of your brand.

4. Build Mobile-friendly Websites

Make your website responsive to automatically orient itself for multiple screen sizes of iPhone, iPad, and Android phones to access data from anywhere, anytime.

5. Improve Business Productivity & Organizational Excellence  

When your site is maintained properly it could result in unexpected outages or failures. Extend the functionality and maximize performance of your site with automatic data backups, service-oriented architecture, and easy security updates.

6. Enable Multi-Site Installations

Drupal has a fantastic multisite feature which allows you to manage multiple sites and users with single database.

7. Social Collaboration & Online Community Building

Your site visitors get an opportunity to share their favorite posts in social networks including Facebook, Twitter, Instagram, Linkedin, YouTube, and many more.

8. Build a SEO strategy to Stay On Top of Google Rankings

Create a SEO-friendly Drupal site to optimize your site for major search engines and stay ahead of competition. Drupal provides better conversion rate and better visibility to your brand to achieve your business goals easily.

9. Make Your Site for Multiple Languages

Configuring and create successful multilingual sites to enable translation of different versions of the same content in multiple languages.

10. Integrate 3rd Party Applications to Enhance your Site

Enhance the functionality of your site with third party integration to sites and services such as Salesforce.com, Paypal, Quickbooks, Google Apps, etc., and save a lot of time and money for your business.

The upcoming Drupal 8 release provides more than 200 new features and improvements from over 2400 contributors. Drupal 8 development is expected to set new benchmarks for ease of use, responsiveness and faster page loads for high performance. In the meantime, Drupal 8 is currently in the beta stage of the release cycle. We’ll have a look about the routing system in Drupal 7 and then learn how the routing process of Symphony is adopted in Drupal 8.
 
In Drupal, a request is handled on the basis of the path it is recognized and returns to some sort of content. Else, Drupal gives a 404. Drupal maps the URL paths with the relevant page and access callbacks.
 
Drupal 7
 
In Drupal, hook allows you to register paths to access titles, arguments and other requirements.  Drupal 7 modules make use of associated page callbacks to paths in hook_menu().
 
Hook_menu()
Menu links
Breadcrumbs
Contextual links
Title
 
function example_menu() {
  $items['hello'] = array(
    'title' => 'Hello world',
    'page callback' => '_example_page',
    'access callback' => 'user_access',
    'access arguments' => 'access content',
    'type' => MENU_CALLBACK,
  );
  return $items;
}
 
Drupal 8
 
Drupal 8 architecture will feature the routing process of Symfony, which offers much more flexibility and simplicity. Drupal 8 is taking the route of Symfony, which makes it easier for Drupal developers to get started. 
 
In Drupal 8 page callbacks are transformed into responses. The available routes are now configured in a file called{module}. routing.yml?in the module folder. A path will return multiple routes.
 
example.routing.yml
example.hello:
  path: '/hello'
  defaults:
    _content: '\Drupal\example\Controller\Hello::content'
  requirements:
    _permission: 'access content'
'Defaults' keys:
Defines the default properties of a route. Provide one of the following to specify how the output is generated.
_controller
    Drupal 8 provides a method to generate a response.
_content
    If specified, the _controller is set based on the request's mime type, and fills the content of the response with the result of the specified method (usually a string or render array).
_form
    If specified, the _controller is set to HtmlFormController::content, which responds with the specified form. This form must be a fully qualified class name (or service id) that implements FormInterface and usually extends FormBase. Indeed, form building has also become object oriented!
_entity_form
    If specified, the _controller is set to HtmlEntityFormController::content, which responds with the specified entity form (specified as {entity_type}.{add|edit|delete}).
_entity_list
    If specified, the _controller is set to HtmlFormController::content, and _content to EntityListController::listing, which renders a list of entities based on the entity type's list controller.
_entity_view
    If specified, the _controller is set to HtmlFormController::content, and _content to EntityViewController::view, which renders the entity based on the entity type's view controller.
_title
    The title of the page (string).
_title_callback
    The title of the page (method callback).
 
'Requirements' keys:
Determines what conditions must be met in order to grant access to the route.
 
_permission
    The current user must have the specified permission.
_role
    The current user must have the specified role.
_method
    The allowed HTTP methods (GET, POST, etc).
_scheme
    Set to https or http. The request scheme must be the same as the specified scheme. This property is also taken into account when generating URLs (Drupal::url(..)) rather than routing. If set, urls will have this scheme set fixed.
_node_add_access
    A custom access check for adding new nodes of some node type.
_entity_access
    A generic access checker for entities.
_format
    Mime types.
 


At DrupalCon Chicago, while delivering the keynote speech Dries Buytaert said: “If I were to start Drupal from scratch today, I'd build it for mobile experiences first, and desktop experience second.” He believed in it and took the big initiative to build a mobile-friendly CMS. Today most of the mobile features are implemented in Drupal 8. Here different mobile initiatives in Drupal 8 development are outlined:  

1.  Mobile responsive themes

Drupal 8 is built with responsive design with the ability to respond and adjust to multiple screen sizes and browsers. Now there are so many unconventional devices, which has to be kept in mind and designs need to be supportive. So, like Dries visioned it all Drupal 8 themes are built primarily for mobile experience and then desktop.

2. Administrative forms

Mobile-friendly admin toolbar in Drupal 8 stands out. The mobile administrative solution allows users to easily create tasks on mobile devices. The admin toolbar provides the ability to toggle from horizontal to vertical on the screen based on the orientation.

3. Breakpoints

Drupal 8 is built with Breakpoints which will be very useful for the front end developers. Breakpoints are different widths or break points in which the layout and functionality changes.

4. CSS standards

Improving CSS coding standards was the next big thing planned for Drupal 8. It follows SMACSS-style categorization of CSS rules making it more scalable and flexible.

5. Front end performance

The transition from Drupal to Mobile is challenging for front end developers. Front end performance is always business-critical for websites With mobile-first approach, Drupal 8 is built for high performance on all smartphones and tablets. Drupal 8 provides support for HTML5, Javascript and responsive design and optimized for mobile devices to enhance front end performance.

The pace of Drupal 8 development is brisk and the process is nearing completion. It will be a huge step into the mobile world, which has been keenly awaited.

In the cloud, mobile and digital era, finding the right platform to publish and share content is critical. Making the decision around the right web platform and web content publishing technology is significant. Getting started with the right system will improve your web presence and brand.

Drupal is a reliable and secure content management framework supported by an active community of 1 million members and 31000 Drupal developers.

What makes Drupal so special?

Drupal is powered by best-of-the-breed technologies which makes Drupal highly customizable and scalable. Drupal is free and open source and supported by 30000 free plug-in and modules which extends its core capabilities. Drupal is easier to build and use with multiple languages and provides support for 110 international languages. Drupal provides innovative and intuitive mobile experience across multiple mobile platforms leveraging special mobile-friendly themes.

How Drupal is going to make a difference for your business

Anubavam is a full service Drupal development company that offers a variety of services with quality, high performance, timeliness and cost-effectiveness. As committed users of Drupal since 2005, and now serving our clients ranging from start-ups to Fortune 500 companies, our team realized that many website owners have long been frustrated with the difficulty of finding affordable and reliable Drupal service. Our unique value proposition is delivered to customers with a combination of highly skilled workforce, Drupal platform expertise, best practices in Agile development and scrum methodology, and flexible engagement model. Here are five great ideas to make your site efficient with Drupal development services.

1. On-demand Drupal development

Anubavam allows website owners to have high quality Drupal development services available on demand for different industries. We can build powerful applications using custom modules and themes to benefit the end-users. We have designed multi-user system which has dramatically enhanced security and access control of the database.

2. Drupal Migration

Anubavam is a leading provider of Drupal migration service with huge experience in successfully migrating to Drupal CMS for a wide range of projects, ranging from simple blog to highly complicated database. Our team of Drupal professionals has expertise in migrating data from the legacy website and rebuilt a robust, high-speed, SEO-friendly interactive solution using the Drupal platform.

3. Mobile-first

Mobile app and website is now the way of life. Taking advantage of mobile-friendly responsive themes in Drupal, we have optimized websites for multiple operating systems and multiple devices including iPhone, iPad, Android, Blackberry and others.

4. SEO-friendly

We have provided effective SEO strategies to drive sales and improve rankings in search engines by implementing microdata and rich snippets.

5. Third party integration

We offer integration with third party applications including payment gateway, social media, Google Maps, Google Analytics, etc. to transform your website and augment your capabilities.

Our combined strengths in Drupal development services could solve problems of website owners, and doing so would not only be great business, but also would benefit Drupal CMS.


 

Drupal is one of the best open source CMS today for distributing a wide variety of information to communicate, collaborate and engage with customers. Drupal is highly scalable, secure, extensible, and supports seamless integration with enterprise systems. It has several built-in popular features which appeal different people in different ways. Drupal is written in the PHP and built by a large community. Drupal is free, open source and ready-to-use software. This means there is no need to build your CMS from scratch. There are no licensing costs involved in Drupal development.

Now, organizations are doing much more – hosting one or more Drupal applications on the cloud. With enterprise services in the cloud, the transition is rapid. You can deploy the Drupal server on cloud in minutes and configure your deployments. The cloud-based content management system optimizes and supports all your efforts to build success. Considering the great benefits including high availability, elastic scalability, developer tools, and managed backups, Drupal cloud is highly valuable in delivering great performance. Here are the ten benefits of managing Drupal CMS in the cloud:

1. Increase speed & flexibility in adoption 

Get instant access to cloud-based Drupal system. High availability of on-demand cloud resources, new Drupal configurations and customizations can be up and running within minutes. Drupal makes it easier to scale out. You can add any number of machines to Drupal in the cloud.

2. Intuitive authoring experience 

Non-technical users can easily create great digital experiences in Drupal CMS without extensive training or coding.

3. More tech-savvy 

Leverage the latest custom cloud CMS in the hyper-competitive global market to manage Drupal website content up-do-date with the real-time updates and security fixes.

4. Custom modules

Drupal allows you to add any number of modules to your site

5. Managed data backups

Enjoy high level of data backup and secure access to all the vital information you need fast from anywhere, anytime. See everything in seconds.

6. Mobile-ready responsive design

Drupal platform is optimized for desktops, smartphones and tablets. Access cloud CMS from anywhere, anytime on website and mobile devices including iPhone, iPad, Android and more.

7. Multisite Management

Build and manage hundreds of sites with single codebase within Drupal for managing blogs, corporate sites, podcasts, image galleries, briefly, whatever you imagine. Manage large number of users centrally, and integrate sites in a single Drupal installation, focused on building online brands.

8. Improved security

Set multiple role-based security access control to restrict the activity of site users and permit authorized users to access content.

9. Faster time to market

Drupal can be deployed in the cloud very quickly and typically the implementation time is drastically reduced. Time to market with Drupal cloud CMS is significantly lower.

10. Low risk & cost-effective

Drupal deployments in the cloud requires minimal investments. The subscription-based cost structure is affordable, without the need of huge investments in supporting systems.


Anubavam is a leading global provider of web, mobile and cloud solutions for delivering content across connected devices.  Anubavam has 9 years of experience in delivering more than 250 web and mobile projects across 18 countries. We provide seamless service to over 100 clients who rely on the company’s web and mobile solutions to successfully deliver immersive online experience to users everywhere.

Subscribe to Enterprise Drupal
 

start with anubavam today

You have an idea we have engineers to convert your ideas into reality

Request Quote