<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-16340866</id><updated>2026-02-17T16:21:01.152+05:30</updated><category term="migration"/><category term="d6-d8 migration"/><category term="drupal"/><category term="Acquia"/><category term="Certification"/><category term="xml-d8 migration"/><category term="drupal8"/><category term="image migration"/><category term="process plugins"/><category term="6 years"/><category term="Backend exam"/><category term="Breath"/><category term="End of suffering"/><category term="Front End"/><category term="Frontend exam"/><category term="Meditation"/><category term="No effort"/><category term="Performance"/><category term="Realize present"/><category term="SPOF"/><category term="Site builder exam"/><category term="The Power of Now"/><category term="amit"/><category term="book"/><category term="contribution"/><category term="custom process plugin"/><category term="custom source plugin"/><category term="fun"/><category term="goals"/><category term="high performance"/><category term="imagefield migration"/><category term="imagination"/><category term="inner-world"/><category term="introspection"/><category term="json-d8 migration"/><category term="life"/><category term="loved-ones"/><category term="meaningful"/><category term="memorable"/><category term="metatag"/><category term="missing migrations"/><category term="module uninstall"/><category term="multisite"/><category term="mysql-d8 migration"/><category term="nodewords"/><category term="paragraph type text migration"/><category term="performance optimization"/><category term="scalability"/><category term="skip data"/><category term="tekriti"/><category term="thoughts"/><title type='text'>Amit Goyal</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.amitgoyal.in/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default?alt=atom&amp;redirect=false'/><link rel='alternate' type='text/html' href='http://www.amitgoyal.in/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default?alt=atom&amp;start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Amit Goyal</name><uri>http://www.blogger.com/profile/08660977858249306761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAtJ7kv42Etlm2ZROXsfmqrdclYgJAJPzhbIHncPJ3TIqq-ZheOjiUVGDokTGg4eqRWsEThQ06yZIEz-BhVQi2SHXO4AOcIaNscjiU3gauc3X332NTyqSiZ1l6ruIJ/s80/amit05.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>65</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-16340866.post-6509907243561316497</id><published>2020-09-27T13:09:00.003+05:30</published><updated>2020-09-27T13:09:48.157+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Breath"/><category scheme="http://www.blogger.com/atom/ns#" term="Meditation"/><category scheme="http://www.blogger.com/atom/ns#" term="No effort"/><title type='text'>Simple Meditation</title><content type='html'>&lt;p&gt;&lt;span style=&quot;background-color: white; font-family: Merriweather, serif; font-size: 16px;&quot;&gt;Set small goals, such as meditating for two minutes every morning. When that feels OK, up the time to 5, 10 or 20 minutes.&lt;/span&gt;&lt;/p&gt;&lt;p data-bind=&quot;text: $data&quot; style=&quot;background: rgb(255, 255, 255); border: 0px; box-sizing: border-box; font-family: Merriweather, serif; font-size: 16px; margin: 0px; overflow: hidden; padding: 0px; text-overflow: ellipsis; vertical-align: baseline;&quot;&gt;1) Find a comfortable seat - where you can sit up tall, either crosslegged on the floor or in a chair. Close your eyes or soften the gaze so you are not focusing on anything in particular. Place the hands with the palms down on the tops of the thighs.&lt;/p&gt;&lt;p data-bind=&quot;text: $data&quot; style=&quot;background: rgb(255, 255, 255); border: 0px; box-sizing: border-box; font-family: Merriweather, serif; font-size: 16px; margin: 0px; overflow: hidden; padding: 0px; text-overflow: ellipsis; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p data-bind=&quot;text: $data&quot; style=&quot;background: rgb(255, 255, 255); border: 0px; box-sizing: border-box; font-family: Merriweather, serif; font-size: 16px; margin: 0px; overflow: hidden; padding: 0px; text-overflow: ellipsis; vertical-align: baseline;&quot;&gt;2) Take a moment to notice the sensation of sitting - become aware of the ground or chair beneath you, and the parts of your body in contact with them. Now bring your focus to your hands, noticing the weight of them on the thighs, and the feel of the fabric of your clothes.&amp;nbsp;&lt;/p&gt;&lt;p data-bind=&quot;text: $data&quot; style=&quot;background: rgb(255, 255, 255); border: 0px; box-sizing: border-box; font-family: Merriweather, serif; font-size: 16px; margin: 0px; overflow: hidden; padding: 0px; text-overflow: ellipsis; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p data-bind=&quot;text: $data&quot; style=&quot;background: rgb(255, 255, 255); border: 0px; box-sizing: border-box; font-family: Merriweather, serif; font-size: 16px; margin: 0px; overflow: hidden; padding: 0px; text-overflow: ellipsis; vertical-align: baseline;&quot;&gt;3) Now begin to notice how your breath feels in your body as you inhale and exhale. Make no effort to change the breath, simply let your natural breath flow in and out.&lt;/p&gt;&lt;p data-bind=&quot;text: $data&quot; style=&quot;background: rgb(255, 255, 255); border: 0px; box-sizing: border-box; font-family: Merriweather, serif; font-size: 16px; margin: 0px; overflow: hidden; padding: 0px; text-overflow: ellipsis; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p data-bind=&quot;text: $data&quot; style=&quot;background: rgb(255, 255, 255); border: 0px; box-sizing: border-box; font-family: Merriweather, serif; font-size: 16px; margin: 0px; overflow: hidden; padding: 0px; text-overflow: ellipsis; vertical-align: baseline;&quot;&gt;4) Aim to stay focussed on these sensations of the breath, but when you notice the mind wandering, acknowledge the thought, then come back to the breath again.&amp;nbsp;&lt;/p&gt;&lt;p data-bind=&quot;text: $data&quot; style=&quot;background: rgb(255, 255, 255); border: 0px; box-sizing: border-box; font-family: Merriweather, serif; font-size: 16px; margin: 0px; overflow: hidden; padding: 0px; text-overflow: ellipsis; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p data-bind=&quot;text: $data&quot; style=&quot;background: rgb(255, 255, 255); border: 0px; box-sizing: border-box; font-family: Merriweather, serif; font-size: 16px; margin: 0px; overflow: hidden; padding: 0px; text-overflow: ellipsis; vertical-align: baseline;&quot;&gt;5) When you are ready to end your practice, notice the sensations of the ground beneath you, and slowly open the eyes.&lt;/p&gt;&lt;p data-bind=&quot;text: $data&quot; style=&quot;background: rgb(255, 255, 255); border: 0px; box-sizing: border-box; font-family: Merriweather, serif; font-size: 16px; margin: 0px; overflow: hidden; padding: 0px; text-overflow: ellipsis; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p data-bind=&quot;text: $data&quot; style=&quot;background: rgb(255, 255, 255); border: 0px; box-sizing: border-box; font-family: Merriweather, serif; font-size: 16px; margin: 0px; overflow: hidden; padding: 0px; text-overflow: ellipsis; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p data-bind=&quot;text: $data&quot; style=&quot;background: rgb(255, 255, 255); border: 0px; box-sizing: border-box; font-family: Merriweather, serif; font-size: 16px; margin: 0px; overflow: hidden; padding: 0px; text-overflow: ellipsis; vertical-align: baseline;&quot;&gt;Source: Noida Times, The Times of India&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.amitgoyal.in/feeds/6509907243561316497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/16340866/6509907243561316497' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/6509907243561316497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/6509907243561316497'/><link rel='alternate' type='text/html' href='http://www.amitgoyal.in/2020/09/simple-meditation.html' title='Simple Meditation'/><author><name>Amit Goyal</name><uri>http://www.blogger.com/profile/08660977858249306761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAtJ7kv42Etlm2ZROXsfmqrdclYgJAJPzhbIHncPJ3TIqq-ZheOjiUVGDokTGg4eqRWsEThQ06yZIEz-BhVQi2SHXO4AOcIaNscjiU3gauc3X332NTyqSiZ1l6ruIJ/s80/amit05.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16340866.post-7207765584075104622</id><published>2020-09-27T12:53:00.000+05:30</published><updated>2020-09-27T12:53:05.205+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="End of suffering"/><category scheme="http://www.blogger.com/atom/ns#" term="Realize present"/><category scheme="http://www.blogger.com/atom/ns#" term="The Power of Now"/><title type='text'>The excerpts I love from the book &quot;The Power of Now&quot;!</title><content type='html'>&lt;p&gt;I love the Buddha&#39;s simple definition of enlightenment as &quot;the end of suffering&quot;.&lt;/p&gt;&lt;p&gt;The good news is that you can free yourself from your mind.&lt;/p&gt;&lt;p&gt;The very thing that gives you pleasure today will give you pain tomorrow, or it will leave you, so its absence will give you pain.&lt;/p&gt;&lt;p&gt;Where there is anger, there is always pain underneath.&lt;/p&gt;&lt;p&gt;The more you are focused on time - past and future - the more you miss the Now, the most precious thing there is.&lt;/p&gt;&lt;p&gt;When you remember the past, you reactivate a memory trace - and you do so now. The future is an imagined Now, a projection of the mind. When the future comes, it comes as the Now.&lt;/p&gt;&lt;p&gt;The reason why some people love to engage in dangerous activities, is that it forces them into the Now - that intensely alive state that is free of time, free of problems, free of thinking.&lt;/p&gt;&lt;p&gt;Make it your practice to withdraw attention from past and future whenever they are not needed.&lt;/p&gt;&lt;p&gt;Be present as the watcher of your mind - of your thoughts and emotions as well as your reactions in various situations.&lt;/p&gt;&lt;p&gt;If you set yourself a goal and work toward it, you are using clock time. You are aware of where you want to go, but you honor and give your fullest attention to the step that you are taking at this moment.&lt;/p&gt;&lt;p&gt;Are you always trying to get somewhere other than where you are?&lt;/p&gt;&lt;p&gt;Do you believe that if you acquire more things you will become more fulfilled, good enough, or psychologically complete?&lt;/p&gt;&lt;p&gt;The mind creates an obsession with the future as an escape from the unsatisfactory present.&lt;/p&gt;&lt;p&gt;The quality of your consciousness at this moment is what shapes the future - which, of course, can only be experienced as the Now.&lt;/p&gt;&lt;p&gt;You become so overwhelmed by your life situation that you lose your sense of life, of Being. Or you are carrying in your mind the insane burden of a&amp;nbsp; hundred things that you will or may have to do in the future instead of focusing your attention on the one thing that you can do now.&lt;/p&gt;&lt;p&gt;Give your fullest attention to whatever the moment presents.&lt;/p&gt;&lt;p&gt;You don&#39;t demand that situations, conditions, places, or people should make you happy, and then suffer when they don&#39;t live up to your expectations.&lt;/p&gt;&lt;p&gt;Make it a habit to monitor your mental-emotional state through self-observation. &quot;Am I at ease at this moment?&quot;. Be at least as interested in what on inside you as what happened outside.&lt;/p&gt;&lt;p&gt;Are you carrying unspoken resentment toward a person close to you?&lt;/p&gt;&lt;p&gt;You are responsible for your inner space; nobody else is, just as you are responsible for the planet.&lt;/p&gt;&lt;p&gt;See if you can catch yourself complaining, in either speech or thought, about a situation you find yourself in, what other people do or say, your surroundings, your life situation, even the weather. Change the situation by taking action or by speaking out if necessary or possible; leave the situation or accept it.&lt;/p&gt;&lt;p&gt;If you find your here and now intolerable and it makes you unhappy, you have three options: remove yourself from the situation, change it or accept it totally.&lt;/p&gt;&lt;p&gt;Waiting is a state of mind. Basically, it means that you want the future; you don&#39;t want the present.&lt;/p&gt;&lt;p&gt;You have to put down for a moment your personal baggage of problems, of past and future, as well as all of your knowledge; otherwise, you will see but not see, hear but not hear.&lt;/p&gt;&lt;p&gt;Every addiction start with pain and ends with pain. It reaches a point where it does not work for you anymore, and then you feel the pain more intensely than ever.&lt;/p&gt;&lt;p&gt;You cannot have an argument with a fully conscious person. An argument implies identification with your mind and a mental position, as well as resistance and reaction to other person&#39;s position.&lt;/p&gt;&lt;p&gt;The same condition that made you happy, then makes you unhappy.&lt;/p&gt;&lt;p&gt;All inner resistance is experienced as negativity in one form or another.&lt;/p&gt;&lt;p&gt;As long as negativity is there, use it as a kind of signal that reminds you to be more present.&lt;/p&gt;&lt;p&gt;Focus not on the 100 things that you will or may have to do at some future time but on the one thinng that you can do now.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.amitgoyal.in/feeds/7207765584075104622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/16340866/7207765584075104622' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/7207765584075104622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/7207765584075104622'/><link rel='alternate' type='text/html' href='http://www.amitgoyal.in/2020/09/the-excerpts-i-love-from-book-power-of.html' title='The excerpts I love from the book &quot;The Power of Now&quot;!'/><author><name>Amit Goyal</name><uri>http://www.blogger.com/profile/08660977858249306761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAtJ7kv42Etlm2ZROXsfmqrdclYgJAJPzhbIHncPJ3TIqq-ZheOjiUVGDokTGg4eqRWsEThQ06yZIEz-BhVQi2SHXO4AOcIaNscjiU3gauc3X332NTyqSiZ1l6ruIJ/s80/amit05.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16340866.post-152026611442305551</id><published>2020-07-26T12:50:00.002+05:30</published><updated>2020-07-26T12:50:55.897+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="book"/><category scheme="http://www.blogger.com/atom/ns#" term="contribution"/><category scheme="http://www.blogger.com/atom/ns#" term="imagination"/><category scheme="http://www.blogger.com/atom/ns#" term="inner-world"/><category scheme="http://www.blogger.com/atom/ns#" term="introspection"/><category scheme="http://www.blogger.com/atom/ns#" term="loved-ones"/><category scheme="http://www.blogger.com/atom/ns#" term="meaningful"/><category scheme="http://www.blogger.com/atom/ns#" term="thoughts"/><title type='text'>The excerpts I love from the book The Monk who sold his Ferrari!</title><content type='html'>Investing in yourself is the best investment you will ever make. It will not only improve your life, it will improve the lives of all those around you.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We might not be able to control the weather or the traffic or the moods of all those around us. But, we most certainly can control our attitude towards these events.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Your &lt;i&gt;I can&lt;/i&gt; is more important than your &lt;i&gt;I.Q.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;No matter what happens to you in your life, you alone have the capacity to choose your response to it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;By controlling the thoughts that you think and the way you respond to the events of your life, you begin to control your destiny.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The boundaries of your life are merely creating of the self.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The quality of one&#39;s life comes down to the richness of one&#39;s thoughts. If you want to live a more peaceful, meaningful life, you must think more peaceful meaningful thoughts.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The secret of happiness is simple: &lt;i&gt;find out what you truly love to do and the direct all of your energy towards doing it&lt;/i&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Most people live within the confines of their comfort zone. The best thing you can do for yourself is regularly move beyond it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The quality of your thinking determines the quality of your life.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Einstein said that &#39;imagination is more important than knowledge.&#39; You must spend some time every day, even if it is just a few minutes, in the practice of creative envisioning.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If there is a lack in your life it is because there is a lack in your thoughts.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The Magic Rule of 21 - for new behavior to crystallize into a habit, one had to perform the new activity for twenty-one days in a row.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Never do anything because you have to, The only reason to do something is because you want to and because you know that it is the right thing for you to do.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Run your own race.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you really want to improve your outer world, whether this means your health, your relationships or your finances, you must first improve your inner world.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Never be reluctant to ask even the most basic of questions.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The philosophy of &lt;i&gt;kaizen&lt;/i&gt;, constant and never-ending enrichment of the mind, body and soul.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;People grow the most when they enter the Zone of the Unknown.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The only limits on your life are those that you set yourself.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Fear is nothing more than a mental monster you have created, a negative stream of consciousness.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To truly get the best out of a great book, you must study it, not just read it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It&#39;s not what you will get out of the books that is so enriching - it is what the books will get out of you that will ultimately change your life.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Get into the regular habit of personal introspection.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;How could I ever hope to improve myself and my life if I hadn&#39;t even taken the time to figure out what I I was supposed to improve?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;By looking at what your are doing, how you are spending your day and the thoughts you are thinking, you give yourself a benchmark for measuring improvement. The only way to improve tomorrow is to know what you did wrong today.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;While what you say to others is important, even more important is what you say to yourself.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You see, the words you say to yourself affect your self-image and your self-image determines what actions you take.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Failure is not having the courage to try, nothing more and nothing less. The only thing standing between most people and their dreams is the fear of failure.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;80 percent of the results you achieve in your life come from only 20 percent of activities that occupy your time.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Be brave, and set no limits on the workings of your imagination. Never be a prisoner of your past. Become the architect of your future.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The quality of your life will come down to the quality of your contribution. When you work to improve the lives of others, you indirectly elevate your own life in the process.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Enjoy the special moments that every day offers because today, this day is all you have.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Make the decision to spend more time with those who make your life meaningful.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.amitgoyal.in/feeds/152026611442305551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/16340866/152026611442305551' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/152026611442305551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/152026611442305551'/><link rel='alternate' type='text/html' href='http://www.amitgoyal.in/2020/07/the-excerpts-i-love-from-book-monk-who.html' title='The excerpts I love from the book The Monk who sold his Ferrari!'/><author><name>Amit Goyal</name><uri>http://www.blogger.com/profile/08660977858249306761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAtJ7kv42Etlm2ZROXsfmqrdclYgJAJPzhbIHncPJ3TIqq-ZheOjiUVGDokTGg4eqRWsEThQ06yZIEz-BhVQi2SHXO4AOcIaNscjiU3gauc3X332NTyqSiZ1l6ruIJ/s80/amit05.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16340866.post-2664918472285494566</id><published>2020-01-16T12:10:00.000+05:30</published><updated>2020-01-16T12:10:14.432+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="goals"/><category scheme="http://www.blogger.com/atom/ns#" term="life"/><title type='text'>2020 Goals</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
- EMI free life&lt;br /&gt;
&lt;br /&gt;
- 2/3 (inter)national trips&lt;br /&gt;
&lt;br /&gt;
- Friendship with books (reading / listening 10 or more books)&lt;br /&gt;
&lt;br /&gt;
- Improve my chess rating by 25% on chess.com&lt;br /&gt;
&lt;br /&gt;
- Increase my investment / saving rate from 25% to 30+% (ideally 35%)&lt;br /&gt;
&lt;br /&gt;
- Physical fitness (continue running at least 5 hrs per week, 4-5 full marathons, 50km long run / cycling)&lt;br /&gt;
&lt;br /&gt;
- Mental fitness (continue the idea of keeping myself stress free from the things which I can&#39;t control, anger management by not getting irritated on stupid things)&lt;br /&gt;
&lt;br /&gt;
I believe, sharing my 2020 goals, will help me achieving those faster as I feel people inspire me in some form like best wishes, social commitment, emotional support, better defining / refining the goals, adding more interesting stuff in wish list, by reminding me about my targets and in so many other ways..!&lt;br /&gt;
&lt;br /&gt;
Happy New Year 2020!! Keep on improving / progressing every day / week / month and year..&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.amitgoyal.in/feeds/2664918472285494566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/16340866/2664918472285494566' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/2664918472285494566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/2664918472285494566'/><link rel='alternate' type='text/html' href='http://www.amitgoyal.in/2020/01/2020-goals.html' title='2020 Goals'/><author><name>Amit Goyal</name><uri>http://www.blogger.com/profile/08660977858249306761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAtJ7kv42Etlm2ZROXsfmqrdclYgJAJPzhbIHncPJ3TIqq-ZheOjiUVGDokTGg4eqRWsEThQ06yZIEz-BhVQi2SHXO4AOcIaNscjiU3gauc3X332NTyqSiZ1l6ruIJ/s80/amit05.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16340866.post-5090900696226383802</id><published>2016-12-22T17:22:00.000+05:30</published><updated>2016-12-22T17:22:10.195+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="custom source plugin"/><category scheme="http://www.blogger.com/atom/ns#" term="drupal8"/><category scheme="http://www.blogger.com/atom/ns#" term="migration"/><category scheme="http://www.blogger.com/atom/ns#" term="mysql-d8 migration"/><title type='text'>Custom MySQL Database to Drupal 8 Migration</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
There are thousands of websites which are using MySQL as database. If
 we need to migrate data from Websites, which are using MySQL database, 
to Drupal 8 then we can use this blog post as starting point.&lt;br /&gt;
&lt;br /&gt;
We have a &lt;a href=&quot;https://github.com/amitgoyal/migrate_sql_d8_custom/blob/master/mysql_custom_db.sql&quot;&gt;sample MySQL Database&lt;/a&gt; &#39;mysql_custom_db&#39; which contains two tables, users and pages. The data in &#39;users&#39; table looks like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgXggADCJaCx21rHOMAY0TZG1q66NzN-N8gJncEe-gkUkG_GH7cmY-OSOXkLaCssiXVsvHZUk9p2ic-IinWCI8DNQc4anIc6WfecmEhzlmWa3x5nYiP0wcQpvk3M7awoLgcOQ/s1600/sql_sourcedb_users.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgXggADCJaCx21rHOMAY0TZG1q66NzN-N8gJncEe-gkUkG_GH7cmY-OSOXkLaCssiXVsvHZUk9p2ic-IinWCI8DNQc4anIc6WfecmEhzlmWa3x5nYiP0wcQpvk3M7awoLgcOQ/s1600/sql_sourcedb_users.png&quot; /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
The data in &#39;pages&#39; table looks like below,&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtsT8OwZiVdkFyaRH5xl4lt0FTWYG_S1r1mJRIQyAVORSjdFpq72GFjVrRgFNqtsGKVmUESC9V-nMxaMyyj6mkfdqcM7cQw2U5q1kJN52A7Nirn65O9hU7iYsSL3MhVbvHNH8/s1600/sql_sourcedb_pages.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;46&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtsT8OwZiVdkFyaRH5xl4lt0FTWYG_S1r1mJRIQyAVORSjdFpq72GFjVrRgFNqtsGKVmUESC9V-nMxaMyyj6mkfdqcM7cQw2U5q1kJN52A7Nirn65O9hU7iYsSL3MhVbvHNH8/s640/sql_sourcedb_pages.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
As
 all the fields in &#39;users&#39; table, from source database, will map to User
 entity in Drupal 8 site so we don&#39;t need make any changes there. But as
 we are migrating &#39;pages&#39; table data to &#39;Basic Page&#39; content type in 
Drupal 8 site, so we need to create required fields in &#39;Basic Page&#39; 
content type.&lt;br /&gt;
&lt;br /&gt;
We have created the fields in &#39;Basic Page&#39; content type and it looks like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVYdBwAC8SxCN28IbBUrvFtSoTsTOvHoRKAx6wfA4PlvXW9FVRk0CVC9jOyfsLue0QizCaXue1I5RbsRE4qmchksf2qm2enOj6nOr-B61SbgS2kGWvtxjismAud3i22kRzSr4/s1600/sql_page_ct_fields.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;390&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVYdBwAC8SxCN28IbBUrvFtSoTsTOvHoRKAx6wfA4PlvXW9FVRk0CVC9jOyfsLue0QizCaXue1I5RbsRE4qmchksf2qm2enOj6nOr-B61SbgS2kGWvtxjismAud3i22kRzSr4/s640/sql_page_ct_fields.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
In our migration, field mapping between source site (pages) and destination site (Basic Page&#39; content type) is like below,&lt;br /&gt;
&lt;br /&gt;
city + state =&amp;gt;&amp;nbsp; Place&lt;br /&gt;
site_name + site_url =&amp;gt; URL (title + url)&lt;br /&gt;
keywords =&amp;gt; Tags&lt;br /&gt;
&lt;br /&gt;
Similarly, you may need to complete site building part in your Drupal 8 site before you can proceed to migration.&lt;br /&gt;
&lt;br /&gt;
Firstly
 we need to access source database from our Drupal 8 site so that we can
 migration the content. To do this, we have imported the source database
 on our system and added connection details to settings.php. It looks 
like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmx-QxL4BSYM-KzT4JWLcS20FPHpkAXAFJjnPHKlAn2HC9bxUL8e57yNtDmPTOnXCabBdA1kBigtL5lR1S7TyQAiOBvDpyJJYO5Bd3L39vQPAnz3AmCFKCl2RrPkGTGno-YJc/s1600/sql_settings.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;220&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmx-QxL4BSYM-KzT4JWLcS20FPHpkAXAFJjnPHKlAn2HC9bxUL8e57yNtDmPTOnXCabBdA1kBigtL5lR1S7TyQAiOBvDpyJJYO5Bd3L39vQPAnz3AmCFKCl2RrPkGTGno-YJc/s640/sql_settings.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Please
 note the &#39;migrate&#39; key above. With this, our source plugins would be 
able to directly query source database as those would be extended from 
&#39;SqlBase&#39; source migration class.&lt;br /&gt;
&lt;br /&gt;
Next, we have created a custom module &#39;&lt;a href=&quot;https://github.com/amitgoyal/migrate_sql_d8_custom&quot;&gt;migrate_sql_d8_custom&lt;/a&gt;&#39; in D8 site for the migration. We have defined Migration Configuration Entity for Users in &lt;a href=&quot;https://github.com/amitgoyal/migrate_sql_d8_custom/blob/master/config/install/migrate_plus.migration.users.yml&quot;&gt;migrate_plus.migration.users.yml&lt;/a&gt; which looks like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIK2jTxXAzLkD7INHXm9BnL7kZIsza7J7mRTldqBHq7L-mgKtTNlgkJgPa8e9G6gD11FZOyndFOuzdrRAv7rPPOPlNEpZMtZdJOiyxbfeztmK1WxF8Xhr_ovr9J9BEn3mA66s/s1600/sql_users_yml.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIK2jTxXAzLkD7INHXm9BnL7kZIsza7J7mRTldqBHq7L-mgKtTNlgkJgPa8e9G6gD11FZOyndFOuzdrRAv7rPPOPlNEpZMtZdJOiyxbfeztmK1WxF8Xhr_ovr9J9BEn3mA66s/s1600/sql_users_yml.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
It
 contains mapping between source user&#39;s data and destination user&#39;s data
 under &#39;process&#39; key. We have used available core/contrib Process plugin
 for status / roles / name / created fields above so that data can be 
formatted / converted to desired format. Destination for user&#39;s data 
would be Users Entity so in built destination plugin can be used. To 
read source user&#39;s data, we have created new custom source plugin, &lt;a href=&quot;https://github.com/amitgoyal/migrate_sql_d8_custom/blob/master/src/Plugin/migrate/source/Users.php&quot;&gt;Users.php&lt;/a&gt;, which will query users table from source database and define the primary key details. It looks like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1a7eyjeu9LHUg6fIblXubyobbNU1vK6mWW7vNooEzl3CX2w3dUy8dKX_323ooMGV4-XdxezGsi2pFrNRcemHCfmLV9d4O1qQXcTlQ9rRqHchdL87YDPghyphenhyphen0Nj6X589ZgEpIY/s1600/sql_source_users.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1a7eyjeu9LHUg6fIblXubyobbNU1vK6mWW7vNooEzl3CX2w3dUy8dKX_323ooMGV4-XdxezGsi2pFrNRcemHCfmLV9d4O1qQXcTlQ9rRqHchdL87YDPghyphenhyphen0Nj6X589ZgEpIY/s640/sql_source_users.png&quot; width=&quot;626&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Next we have created Migration Configuration Entity for Pages in &lt;a href=&quot;https://github.com/amitgoyal/migrate_sql_d8_custom/blob/master/config/install/migrate_plus.migration.pages.yml&quot;&gt;migrate_plus.migration.pages.yml&lt;/a&gt; which looks like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQK3RSCk53IyFYbLgX32Gm0scv1Q2Ja23Swyr1eNj8H5SqT2SOm4A6qvzh91uJb3v_qiz-yBihsVY7mG7-gckiQDOtmt2BnYY0CPoAh56pSvve9LWS7niiLLPg6ykDjBPqNWs/s1600/sql_pages_yml.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQK3RSCk53IyFYbLgX32Gm0scv1Q2Ja23Swyr1eNj8H5SqT2SOm4A6qvzh91uJb3v_qiz-yBihsVY7mG7-gckiQDOtmt2BnYY0CPoAh56pSvve9LWS7niiLLPg6ykDjBPqNWs/s1600/sql_pages_yml.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
It&#39;s
 quite similar to Users migration configuration entity (.yml) file. 
Process key contains mapping between source pages data and destination
 entity i.e. &#39;Basic Page&#39; content type. We have also defined migration 
dependency to &#39;users&#39; as we have to run &#39;users&#39; migration first because 
user id is being referred in Pages migration. If we will try to run 
&#39;pages&#39; migration before &#39;users&#39; migration then it will indicate that we
 have to run &#39;users&#39; migration first.&lt;br /&gt;
&lt;br /&gt;
To read source pages table data, we have created new custom source plugin, &lt;a href=&quot;https://github.com/amitgoyal/migrate_sql_d8_custom/blob/master/src/Plugin/migrate/source/Pages.php&quot;&gt;Pages.php&lt;/a&gt;, 
which will query pages table from source database and define the primary
 key details. It looks like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpVE03laH1SC9QJXJuL6LgBzv3iEDNqqsXH3g30jeT16y1HPYlKmtihw9nVq10UVUXYEdpYE2oW4cKSJ4tO5YFh8H4k0VSY_P594Kpf9qa3UPGt64MegGR3VVH_UVEBD2c_ak/s1600/sql_source_pages.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;385&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpVE03laH1SC9QJXJuL6LgBzv3iEDNqqsXH3g30jeT16y1HPYlKmtihw9nVq10UVUXYEdpYE2oW4cKSJ4tO5YFh8H4k0VSY_P594Kpf9qa3UPGt64MegGR3VVH_UVEBD2c_ak/s640/sql_source_pages.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
After
 defining migration configuration entities for users and pages along 
with their source plugins, we are ready to start the migration. We have 
used following &lt;a href=&quot;https://www.drupal.org/node/1561820&quot;&gt;drush commands&lt;/a&gt; (migrate-statue, migrate-import) to migrate the source MySQL database data to Drupal 8,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE-LjIvHTKFBT0lNrG-tYuQXXICSEBnYE7uKXzQ3xxGYv8-l0UuzpSbBMuiM_tVcgftBWy0DDjP78nbjSOrHG5a4KXPosmGElZkUFSSwCJ2VXF2CxE3BxMymdAL2Y4_9cS9cE/s1600/sql_drush.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;192&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE-LjIvHTKFBT0lNrG-tYuQXXICSEBnYE7uKXzQ3xxGYv8-l0UuzpSbBMuiM_tVcgftBWy0DDjP78nbjSOrHG5a4KXPosmGElZkUFSSwCJ2VXF2CxE3BxMymdAL2Y4_9cS9cE/s640/sql_drush.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
User data has been migrated to Users Entity in Drupal 8 and it looks like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4N8F5vihL0K-jW4nSQRgifQAw-fxYr-NW5kcqhjlYFwo0tirMyUszymh8FZaIZZ8O5iAoAWf0EnITJTqhYv3rhSxOhRsUiIkMjB0-0mYLCT_gd7KXbxEx2BZRTySsY8K8w6o/s1600/sql_users.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;379&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4N8F5vihL0K-jW4nSQRgifQAw-fxYr-NW5kcqhjlYFwo0tirMyUszymh8FZaIZZ8O5iAoAWf0EnITJTqhYv3rhSxOhRsUiIkMjB0-0mYLCT_gd7KXbxEx2BZRTySsY8K8w6o/s640/sql_users.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Pages data has been migrated to Node Entity in Drupal 8 and it looks like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaahUJcs4bkKmTspi0-rw5Nefsn9mCvLfTviXHK_o5ALnzBpekSnyx18cPwfTzkV-HhiWxeyzzEG2_Kd0xADdGW3gkWxjyyDOdurVHu1e6gS7vZCiZt2ivmSWbXQWFbMmUBoo/s1600/sql_content.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;384&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaahUJcs4bkKmTspi0-rw5Nefsn9mCvLfTviXHK_o5ALnzBpekSnyx18cPwfTzkV-HhiWxeyzzEG2_Kd0xADdGW3gkWxjyyDOdurVHu1e6gS7vZCiZt2ivmSWbXQWFbMmUBoo/s640/sql_content.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCzc1OSyflBK4CsCKmApHPzLfQsHRkiRPTaURFaLPRr4CuXcG4NH1qD8NrlEagJHWqGRSeztsVYwae0scB2c9oaZzqR4Eosea4CNdxkKaY26u2_Zv8ArLrc-Ye41lMfqBzEOM/s1600/sql_content_page.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;538&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCzc1OSyflBK4CsCKmApHPzLfQsHRkiRPTaURFaLPRr4CuXcG4NH1qD8NrlEagJHWqGRSeztsVYwae0scB2c9oaZzqR4Eosea4CNdxkKaY26u2_Zv8ArLrc-Ye41lMfqBzEOM/s640/sql_content_page.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
The source code is also available on &lt;a href=&quot;https://github.com/amitgoyal/migrate_sql_d8_custom&quot;&gt;Git repository.&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.amitgoyal.in/feeds/5090900696226383802/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/16340866/5090900696226383802' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/5090900696226383802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/5090900696226383802'/><link rel='alternate' type='text/html' href='http://www.amitgoyal.in/2016/12/custom-mysql-database-to-drupal-8.html' title='Custom MySQL Database to Drupal 8 Migration'/><author><name>Amit Goyal</name><uri>http://www.blogger.com/profile/08660977858249306761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAtJ7kv42Etlm2ZROXsfmqrdclYgJAJPzhbIHncPJ3TIqq-ZheOjiUVGDokTGg4eqRWsEThQ06yZIEz-BhVQi2SHXO4AOcIaNscjiU3gauc3X332NTyqSiZ1l6ruIJ/s80/amit05.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgXggADCJaCx21rHOMAY0TZG1q66NzN-N8gJncEe-gkUkG_GH7cmY-OSOXkLaCssiXVsvHZUk9p2ic-IinWCI8DNQc4anIc6WfecmEhzlmWa3x5nYiP0wcQpvk3M7awoLgcOQ/s72-c/sql_sourcedb_users.png" height="72" width="72"/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16340866.post-3470168973405631686</id><published>2016-11-28T11:56:00.000+05:30</published><updated>2016-11-28T11:56:42.745+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="json-d8 migration"/><category scheme="http://www.blogger.com/atom/ns#" term="migration"/><category scheme="http://www.blogger.com/atom/ns#" term="process plugins"/><title type='text'>JSON-D8 Migration: By Using Available and Custom Process Plugins</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
In our XML to Drupal 8 bog post series, we have seen that how can we do the &lt;a href=&quot;http://www.amitgoyal.in/2016/09/xml-d8-migration-very-basic-migration.html&quot;&gt;XML to D8 migration by just using YML file&lt;/a&gt;, &lt;a href=&quot;http://www.amitgoyal.in/2016/09/xml-d8-migration-extending-migration.html&quot;&gt;extend the capabilities of the migration by using available Process plugins&lt;/a&gt; and finally &lt;a href=&quot;http://www.amitgoyal.in/2016/09/xml-d8-migration-custom-process-plugin.html&quot;&gt;extended the capabilities of the migration by using Custom Process plugins.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
As the JSON to Drupal 8 migration is quite similar to XML migration so we will do the complete JSON to Drupal 8 migration in this Blog post.&lt;br /&gt;
&lt;br /&gt;

As we are migrating from JSON so we have created a sample &lt;a href=&quot;https://github.com/amitgoyal/migrate_json_d8_custom/blob/master/pages_content.json&quot;&gt;JSON file&lt;/a&gt; which looks like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-onGUYL5N5ZU3JyGHtt4qA5-urB5L9it2lVLNjfXsq2V6OGpoFDmzSgIlnt7Gc0_Iv-45p4ZPOk5iQm4VB_R7tthS_AHkGraEGe6x26RJJb2hTHLQZfV43P70wCIogFpBInw/s1600/json_sample.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-onGUYL5N5ZU3JyGHtt4qA5-urB5L9it2lVLNjfXsq2V6OGpoFDmzSgIlnt7Gc0_Iv-45p4ZPOk5iQm4VB_R7tthS_AHkGraEGe6x26RJJb2hTHLQZfV43P70wCIogFpBInw/s640/json_sample.png&quot; width=&quot;361&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Our &lt;a href=&quot;https://github.com/amitgoyal/migrate_json_d8_custom/blob/master/config/install/migrate_plus.migration.pages_content.yml&quot;&gt;migration configuration entity (YML) file&lt;/a&gt; under config/install defines Source (JSON file and fields in it), Destination 
(Drupal entity) and Field mappings (Process plugins). It looks like 
below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWdatAWP3HqLJUG6S_hH8cLASO3MseaUSfov_M_gPMHRA6BpYUAdG4cITU2Me_tXwFsy8qQ_W-tdjAq0vvtkCDiAJWKw33rhM_rVOEkTYuvRfy84dVVKajB1bfcH6LK-rroVU/s1600/sample_yml_complete.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWdatAWP3HqLJUG6S_hH8cLASO3MseaUSfov_M_gPMHRA6BpYUAdG4cITU2Me_tXwFsy8qQ_W-tdjAq0vvtkCDiAJWKw33rhM_rVOEkTYuvRfy84dVVKajB1bfcH6LK-rroVU/s1600/sample_yml_complete.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
The only change between XML and JSON migration is &quot;data_parser_plugin&quot; as shown below,&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiveohhQgU3uxF1lM7p_pODeLxBWTf_hpU2G10MgKnSpxjuzqUe6CJI_C8PoYjLHvTzih6p5fr7vujCXFipffMykrJcYR1XXhVr056yvHuRiXbnTE7ZmR2NfBgZFTWouOHQHLM/s1600/sample_yml.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;384&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiveohhQgU3uxF1lM7p_pODeLxBWTf_hpU2G10MgKnSpxjuzqUe6CJI_C8PoYjLHvTzih6p5fr7vujCXFipffMykrJcYR1XXhVr056yvHuRiXbnTE7ZmR2NfBgZFTWouOHQHLM/s640/sample_yml.png&quot; width=&quot;640&quot; /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;
Data parser plugin is part of &lt;a href=&quot;https://drupal.org/project/migrate_plus&quot;&gt;Migrate Plus&lt;/a&gt; module. It means we don&#39;t need to write custom code for most of the cases while migrating from XML or JSON to Drupal 8. The interesting part is that XML and JSON migrations are quite similar. All the available / custom process plugins will be used in same way. Even the source fields are defined in same way. If you compare the &lt;a href=&quot;https://github.com/amitgoyal/migrate_xml_d8_custom&quot;&gt;migrate_xml_d8_custom&lt;/a&gt; and &lt;a href=&quot;https://github.com/amitgoyal/migrate_json_d8_custom&quot;&gt;migrate_json_d8_custom&lt;/a&gt; custom modules, you will notice that there is just one line change in migration configuration entity (migrate_plus.migration.pages_content.yml)!&lt;br /&gt;
&lt;br /&gt;

Next we have created the custom process plugin in &lt;a href=&quot;https://github.com/amitgoyal/migrate_json_d8_custom/blob/master/src/Plugin/migrate/process/ContentTypePlugin.php&quot;&gt;src/Plugin/migrate/process/ContentTypePlugin.php&lt;/a&gt;.
 This custom process plugin uses &#39;site_url&#39; JSON field to determine the 
content type (article or basic page) based on the requirements. Custom 
process plugin needs to be placed under /src/Plugin/migrate/process/ as 
per the Drupal PSR-4 standards. The plugins in Drupal 8 uses &lt;a href=&quot;https://www.drupal.org/node/1882526&quot;&gt;Annotations&lt;/a&gt; to define the name of the plugin. Our custom plugin looks like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZSDEJpTDvKWYzxb84h4djODmuPAqp25HWrYoiyL1Z0Mx1nQ5tlbgosYIfuCjjNmoNzlQPoyAd03SWc8cpbvuvU5KB_yvtZd6giNJMNa1_g1bxpMpEHkprj56z6zLWOV0AtBs/s1600/custom_process_plugin_sample.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZSDEJpTDvKWYzxb84h4djODmuPAqp25HWrYoiyL1Z0Mx1nQ5tlbgosYIfuCjjNmoNzlQPoyAd03SWc8cpbvuvU5KB_yvtZd6giNJMNa1_g1bxpMpEHkprj56z6zLWOV0AtBs/s1600/custom_process_plugin_sample.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Finally migration has been executed in same way as in XML to D8 migration using &quot;drush mi pages_content&quot; command and we got all the data on D8 
site in different content types as expected. It looks like 
below,&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjItMzc5StbeVj9dHMuH9pwgdjP_PfwbN4cO-qT8ibcxlSUGmAd6CEYAGO0e_4LfaRPT9JUEL189m8i-fvjvkwnDlus_Qul1pFr7KgtBIygCPCTEJeGryq_ktjhlbo1IdU27U0/s640/d8_content_page_article.png&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjItMzc5StbeVj9dHMuH9pwgdjP_PfwbN4cO-qT8ibcxlSUGmAd6CEYAGO0e_4LfaRPT9JUEL189m8i-fvjvkwnDlus_Qul1pFr7KgtBIygCPCTEJeGryq_ktjhlbo1IdU27U0/s640/d8_content_page_article.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;



The source code is also available on &lt;a href=&quot;https://github.com/amitgoyal/migrate_json_d8_custom&quot;&gt;Git repository&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;We can write more custom process plugins based on our requirements and use them to do custom migrations!&lt;br /&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.amitgoyal.in/feeds/3470168973405631686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/16340866/3470168973405631686' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/3470168973405631686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/3470168973405631686'/><link rel='alternate' type='text/html' href='http://www.amitgoyal.in/2016/11/json-d8-migration-process-plugins.html' title='JSON-D8 Migration: By Using Available and Custom Process Plugins'/><author><name>Amit Goyal</name><uri>http://www.blogger.com/profile/08660977858249306761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAtJ7kv42Etlm2ZROXsfmqrdclYgJAJPzhbIHncPJ3TIqq-ZheOjiUVGDokTGg4eqRWsEThQ06yZIEz-BhVQi2SHXO4AOcIaNscjiU3gauc3X332NTyqSiZ1l6ruIJ/s80/amit05.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-onGUYL5N5ZU3JyGHtt4qA5-urB5L9it2lVLNjfXsq2V6OGpoFDmzSgIlnt7Gc0_Iv-45p4ZPOk5iQm4VB_R7tthS_AHkGraEGe6x26RJJb2hTHLQZfV43P70wCIogFpBInw/s72-c/json_sample.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16340866.post-6898380648523424693</id><published>2016-09-27T12:53:00.000+05:30</published><updated>2016-09-30T12:54:21.888+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="custom process plugin"/><category scheme="http://www.blogger.com/atom/ns#" term="migration"/><category scheme="http://www.blogger.com/atom/ns#" term="xml-d8 migration"/><title type='text'>XML-D8 Migration: Extending the migration capabilities by using CUSTOM Process plugin</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
In our last blog post, &lt;a href=&quot;http://www.amitgoyal.in/2016/09/xml-d8-migration-extending-migration.html&quot;&gt;XML-D8 Migration: Extending the migration capabilities by using available Process plugins&lt;/a&gt;, we have extended the migration capabilities by using already available process plugins. In this blog post, we will extend the capabilities of that migration by writing custom Process plugins.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this blog post, we will map the content to different content types based on the &#39;site url&#39; field in XML. There are no changes in &lt;a href=&quot;https://github.com/amitgoyal/migrate_xml_d8_custom/blob/master/pages_content.xml&quot;&gt;XML file&lt;/a&gt; and we are using the same XML file which was used in earlier blog posts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To use the custom plugin, we need to specify the plugin name in our .yml file under config/install, so we have made that one change which looks below,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_q4UxM1Q7JmDux9mOWeoqfxodQ2Pb-DMrbLJ8mgDvtV9FcbIKk6XYGwzYPCuGJ-HK53juqWHMwFwgv24i6G3CAll0Qbud0zEeQPCvSwYbWTnBCj-80eOPQA0uSz2iN466wzQ/s1600/d8_yml_custom_plugin_change.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_q4UxM1Q7JmDux9mOWeoqfxodQ2Pb-DMrbLJ8mgDvtV9FcbIKk6XYGwzYPCuGJ-HK53juqWHMwFwgv24i6G3CAll0Qbud0zEeQPCvSwYbWTnBCj-80eOPQA0uSz2iN466wzQ/s640/d8_yml_custom_plugin_change.png&quot; width=&quot;298&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Basically we are telling the migration API that for &#39;type&#39; field use &#39;content_type_plugin&#39; and &#39;site_url&#39; XML field will be used as source.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next we have created the custom process plugin in &lt;a href=&quot;https://github.com/amitgoyal/migrate_xml_d8_custom/blob/master/src/Plugin/migrate/process/ContentTypePlugin.php&quot;&gt;src/Plugin/migrate/process/ContentTypePlugin.php&lt;/a&gt;. This custom process plugin uses &#39;site_url&#39; XML field to determine the content type (article or basic page) based on the requirements. Custom process plugin needs to be placed under /src/Plugin/migrate/process/ as per the Drupal PSR-4 standards. The plugins in Drupal 8 uses &lt;a href=&quot;https://www.drupal.org/node/1882526&quot;&gt;Annotations&lt;/a&gt; to define the name of the plugin. Our custom plugin looks like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://github.com/amitgoyal/migrate_xml_d8_custom/blob/master/src/Plugin/migrate/process/ContentTypePlugin.php&quot;&gt;&lt;img alt=&quot;https://github.com/amitgoyal/migrate_xml_d8_custom/blob/master/src/Plugin/migrate/process/ContentTypePlugin.php&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2RZxboXeMy-n6vyQYRAGQmfNxi6L63j0DAJ_t2Q24CFukTPzeD9WtGsoIyfg-6t1Esbl1dgfqe6WZcq0g7xzy0FAhh9Nc6a4qp6aVYAG8Il4DR55twe7ovc-W2vjtxmhxDjg/s1600/d8_custom_process_plugin.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
After creating the custom process plugin and using it in our migration config .yml file, we need to clear the cache and re-install the module. And finally we can execute the migration to migrate the XML data in Drupal content types (article, page).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqoA0DmgeQvIRK1dvcXgqZ0Lya3aUHQFXzBvidgE-oxIT5waeCpervV0dg7-aXNWpBU_FZDfPRiPnFsyirg1T0bJvflHUXDBADrB0pHwewXaFrYIycadWVNWS5iLBHX1Ucg2A/s1600/d8_xml_drush_migration.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqoA0DmgeQvIRK1dvcXgqZ0Lya3aUHQFXzBvidgE-oxIT5waeCpervV0dg7-aXNWpBU_FZDfPRiPnFsyirg1T0bJvflHUXDBADrB0pHwewXaFrYIycadWVNWS5iLBHX1Ucg2A/s1600/d8_xml_drush_migration.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
The migration has been executed successfully and we got all the data on D8 
site in different content types as expected. It looks like 
below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjItMzc5StbeVj9dHMuH9pwgdjP_PfwbN4cO-qT8ibcxlSUGmAd6CEYAGO0e_4LfaRPT9JUEL189m8i-fvjvkwnDlus_Qul1pFr7KgtBIygCPCTEJeGryq_ktjhlbo1IdU27U0/s1600/d8_content_page_article.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;435&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjItMzc5StbeVj9dHMuH9pwgdjP_PfwbN4cO-qT8ibcxlSUGmAd6CEYAGO0e_4LfaRPT9JUEL189m8i-fvjvkwnDlus_Qul1pFr7KgtBIygCPCTEJeGryq_ktjhlbo1IdU27U0/s640/d8_content_page_article.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;


The source code is also available on &lt;a href=&quot;https://github.com/amitgoyal/migrate_xml_d8_custom&quot;&gt;Git repository&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
Similarly we can write more custom process plugins based on our requirements and use them to do custom migrations!&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.amitgoyal.in/feeds/6898380648523424693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/16340866/6898380648523424693' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/6898380648523424693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/6898380648523424693'/><link rel='alternate' type='text/html' href='http://www.amitgoyal.in/2016/09/xml-d8-migration-custom-process-plugin.html' title='XML-D8 Migration: Extending the migration capabilities by using CUSTOM Process plugin'/><author><name>Amit Goyal</name><uri>http://www.blogger.com/profile/08660977858249306761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAtJ7kv42Etlm2ZROXsfmqrdclYgJAJPzhbIHncPJ3TIqq-ZheOjiUVGDokTGg4eqRWsEThQ06yZIEz-BhVQi2SHXO4AOcIaNscjiU3gauc3X332NTyqSiZ1l6ruIJ/s80/amit05.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_q4UxM1Q7JmDux9mOWeoqfxodQ2Pb-DMrbLJ8mgDvtV9FcbIKk6XYGwzYPCuGJ-HK53juqWHMwFwgv24i6G3CAll0Qbud0zEeQPCvSwYbWTnBCj-80eOPQA0uSz2iN466wzQ/s72-c/d8_yml_custom_plugin_change.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16340866.post-1380523776312611150</id><published>2016-09-06T09:29:00.000+05:30</published><updated>2016-09-30T09:29:54.038+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="migration"/><category scheme="http://www.blogger.com/atom/ns#" term="process plugins"/><category scheme="http://www.blogger.com/atom/ns#" term="xml-d8 migration"/><title type='text'>XML-D8 Migration: Extending the migration capabilities by using available Process plugins</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
In our last blog post, &lt;a href=&quot;http://www.amitgoyal.in/2016/09/xml-d8-migration-very-basic-migration.html&quot;&gt;XML-D8 Migration: Very basic migration by just using YML file&lt;/a&gt;, we have done very basic XML to Drupal 8 migration. In this blog post, we will extend the capabilities of that migration by using available &lt;a href=&quot;https://www.drupal.org/node/2129651&quot;&gt;Process plugins&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
To add-on, we have added new fields like city, state, site url, site name, keywords, creation date to the XML file and now it looks like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQENlxseNNDQQC_JUBEirapMWTiTX1gTjEwLNk_uoP0EyLUmszVe_vuKOhhACEbxwQv1axKcfeEtGv-c6kQ-6PkbJB3gNn7aGU1sF5PsJ_wN3K-9GQHkBHYntbvLCLEX-eYBE/s1600/pages_content_extend.xml.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQENlxseNNDQQC_JUBEirapMWTiTX1gTjEwLNk_uoP0EyLUmszVe_vuKOhhACEbxwQv1axKcfeEtGv-c6kQ-6PkbJB3gNn7aGU1sF5PsJ_wN3K-9GQHkBHYntbvLCLEX-eYBE/s1600/pages_content_extend.xml.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
We will be migrating city and state fields into place field in D8 by using &lt;a href=&quot;https://www.drupal.org/node/2345927&quot;&gt;concat process plugin&lt;/a&gt;. Site name and site url fields will be migrated to URL field in D8. Creation date field will be migrated to content creation date field in D8 using &lt;a href=&quot;https://www.drupal.org/node/2181783&quot;&gt;callback process plugin&lt;/a&gt;. Keywords field will be migrated to tags taxonomy field referenced in content type. For tags migration, we will be using &lt;a href=&quot;https://www.drupal.org/node/2674504&quot;&gt;explode process plugin&lt;/a&gt; and concept of &lt;a href=&quot;https://www.drupal.org/node/2129651&quot;&gt;pipeline&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
We have added the new fields in page content type on D8 site and it looks like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjULYZRswJZR26_AMF2c9hfptQbYrOsVwgqF1kR7E9us8qGslO8AwZISDcgpU42woR6o0dEBVT3QdVv26q61nabOm11yRaov9wN00UJKCb2VAk5mpVcjx2ODKIePAqvhApH5hk/s1600/d8_manage_fields.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;392&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjULYZRswJZR26_AMF2c9hfptQbYrOsVwgqF1kR7E9us8qGslO8AwZISDcgpU42woR6o0dEBVT3QdVv26q61nabOm11yRaov9wN00UJKCb2VAk5mpVcjx2ODKIePAqvhApH5hk/s640/d8_manage_fields.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Next we have added the mapping of these new fields in config/install/migrate_plus.migration.pages_content.yml file by using various process plugins. The mapping looks like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS-zGc0yH-cehqYzVAzeCntT-nldfzdDkUvfU2cT0rtG9fiQ3uSC9McT_A9RTDw8CUHJNcaaDu2JWFiiVOgdlmXrNdXtxEr0we91nvaexDFgo6jPfphFYApDn20x-fgScI7Yw/s1600/process_field_mapping.yml.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS-zGc0yH-cehqYzVAzeCntT-nldfzdDkUvfU2cT0rtG9fiQ3uSC9McT_A9RTDw8CUHJNcaaDu2JWFiiVOgdlmXrNdXtxEr0we91nvaexDFgo6jPfphFYApDn20x-fgScI7Yw/s1600/process_field_mapping.yml.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
We have also used &lt;a href=&quot;https://www.drupal.org/node/2135313&quot;&gt;default_value process plugin&lt;/a&gt; at various places to assign default value to the fields in D8.&lt;br /&gt;
&lt;br /&gt;
As we have made changes into .yml file and also want to migrate new fields so we have rolled back existing migrated data, re-installed the module and executed the migration like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizrOtkSNEp2if7zzswSy1pYERvHohkYKEaThF5gfhsGj2YPt98PMY5afSL_0rh-HaSA1DoCU8KRPwANU_pOpuO30gQo4bAm3FELzWVf0rp0gdzL1YnU-1IRrdycffuSVvmTyQ/s1600/migration_steps_xml.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;219&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizrOtkSNEp2if7zzswSy1pYERvHohkYKEaThF5gfhsGj2YPt98PMY5afSL_0rh-HaSA1DoCU8KRPwANU_pOpuO30gQo4bAm3FELzWVf0rp0gdzL1YnU-1IRrdycffuSVvmTyQ/s640/migration_steps_xml.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
The migration has been executed successfully and we got new data on D8 site. All the fields have been migrated as expected and looks like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZPDBH24tEFL5-2BnEwe-pyQzWFT46zACK1GlCPE9oLqdJNLrm0YHM3y96PnUC9tnSpfDwjviZjeH1UySxDZFydmaJ_RAf_gSawtdbO6ahohzgzpBT2-UpIkXugg46ABGXzA0/s1600/d8_edit_page.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;568&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZPDBH24tEFL5-2BnEwe-pyQzWFT46zACK1GlCPE9oLqdJNLrm0YHM3y96PnUC9tnSpfDwjviZjeH1UySxDZFydmaJ_RAf_gSawtdbO6ahohzgzpBT2-UpIkXugg46ABGXzA0/s640/d8_edit_page.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;

The source code is also available on &lt;a href=&quot;https://github.com/amitgoyal/migrate_xml_d8_custom&quot;&gt;Git repository&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
We have also added hook_uninstall() in &lt;a href=&quot;https://github.com/amitgoyal/migrate_xml_d8_custom/blob/master/migrate_xml_d8_custom.module&quot;&gt;migrate_xml_d8_custom.module&lt;/a&gt; file so that module can be uninstalled and enabled again after making changes in migration config .yml file without any issues.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.amitgoyal.in/feeds/1380523776312611150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/16340866/1380523776312611150' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/1380523776312611150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/1380523776312611150'/><link rel='alternate' type='text/html' href='http://www.amitgoyal.in/2016/09/xml-d8-migration-extending-migration.html' title='XML-D8 Migration: Extending the migration capabilities by using available Process plugins'/><author><name>Amit Goyal</name><uri>http://www.blogger.com/profile/08660977858249306761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAtJ7kv42Etlm2ZROXsfmqrdclYgJAJPzhbIHncPJ3TIqq-ZheOjiUVGDokTGg4eqRWsEThQ06yZIEz-BhVQi2SHXO4AOcIaNscjiU3gauc3X332NTyqSiZ1l6ruIJ/s80/amit05.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQENlxseNNDQQC_JUBEirapMWTiTX1gTjEwLNk_uoP0EyLUmszVe_vuKOhhACEbxwQv1axKcfeEtGv-c6kQ-6PkbJB3gNn7aGU1sF5PsJ_wN3K-9GQHkBHYntbvLCLEX-eYBE/s72-c/pages_content_extend.xml.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16340866.post-8422429995032639376</id><published>2016-09-01T12:20:00.000+05:30</published><updated>2016-09-29T12:21:40.050+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="d6-d8 migration"/><category scheme="http://www.blogger.com/atom/ns#" term="xml-d8 migration"/><title type='text'>XML-D8 Migration: Very basic migration by just using YML file</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
As we are working XML to Drupal 8 migration project, so we just want to explore how the very basic migration looks like!&lt;br /&gt;
&lt;br /&gt;
We have written a custom module to define mapping between XML data and Drupal 8 entity.&lt;br /&gt;
&lt;br /&gt;
Like any other module in D8, we need .info.yml file which looks like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://github.com/amitgoyal/migrate_xml_d8_custom/blob/master/migrate_xml_d8_custom.info.yml&quot;&gt;&lt;img alt=&quot;https://github.com/amitgoyal/migrate_xml_d8_custom/blob/master/migrate_xml_d8_custom.info.yml&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGz6FLm4Jj40Ibe0QaCAqqCoqMaXKV71iD_6clTHLH_9qWMh_44lpgPTvaq_5faKZwO4qAGg5gKdN7V2QfN1pyBRXS8qZTml0xalHPKMdBBd62FNKd9m7NqTfE4Vel4JJP-aE/s1600/migrate_xml_d8_custom.info.yml.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
In the .info.yml file, we have added dependencies for &lt;a href=&quot;https://www.drupal.org/project/migrate_plus&quot;&gt;migrate_plus&lt;/a&gt; and &lt;a href=&quot;https://www.drupal.org/project/migrate_tools&quot;&gt;migrate_tools&lt;/a&gt; modules. Migrate Plus module is required to do migration from sources like XML and JSON. Migrate Tools module provides tools for running and managing Drupal 8 migrations.&lt;br /&gt;
&lt;br /&gt;
As we are migration from XML so we have created a sample XML file which contains ID, Title and Body fields. It looks like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdeFNLSJmPyiZCBNbQUnK0nsV3s-G-GupFwCT2aIzvEWqbv8D5e-oZUEMBv6c1ih6gR7g-F32nBd_utYImTIGmAM5VhUNH2sr-gl8gIDmWECvJfFwQaUuz1yDg4lEWiNBijOs/s1600/pages_content.xml.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdeFNLSJmPyiZCBNbQUnK0nsV3s-G-GupFwCT2aIzvEWqbv8D5e-oZUEMBv6c1ih6gR7g-F32nBd_utYImTIGmAM5VhUNH2sr-gl8gIDmWECvJfFwQaUuz1yDg4lEWiNBijOs/s1600/pages_content.xml.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Lastly and most importantly, for this very basic migration, we just needed one .yml file in config/install folder for our migration. This .yml file defines Source (XML file and fields in it), Destination (Drupal entity) and Field mappings (Process plugins). It looks like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://github.com/amitgoyal/migrate_xml_d8_custom/blob/master/config/install/migrate_plus.migration.pages_content.yml&quot;&gt;&lt;img alt=&quot;https://github.com/amitgoyal/migrate_xml_d8_custom/blob/master/config/install/migrate_plus.migration.pages_content.yml&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjDp0fj8aQTrCzRtaXWIlXizvvIGyHcss4eq7SP7f1B_wLeLOcJi1TOexFopqOeSwjMaH8bIX7bwRAarJuK3ZQ_0jq-KZ6BeBfauGiru0pAYfvPbjnx8rH-5JVMtTZ1w9ICAM/s1600/migrate_plus.migration.pages_content.yml.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
We have placed the source XML file (pages_content.xml) in Drupal root folder. After enabling the module, we have executed the migration using Drush like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbx0P9ZTWmSA34upYEZPmqbnrVLFxh-zpVsn8sQTcsZ0yb2su8AueP7CW1Q5tnEzNK-RtN6V3Ea-WnfKdPJ0DHAPrcagyYDOw32kPaMpfbT1lEo2bzGWL1ovNfjzT0L_miWpg/s1600/migrate_xml_d8_custom_migration.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbx0P9ZTWmSA34upYEZPmqbnrVLFxh-zpVsn8sQTcsZ0yb2su8AueP7CW1Q5tnEzNK-RtN6V3Ea-WnfKdPJ0DHAPrcagyYDOw32kPaMpfbT1lEo2bzGWL1ovNfjzT0L_miWpg/s1600/migrate_xml_d8_custom_migration.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
XML file contained 3 records which have been migrated to Drupal site using Drush. We can see below that 3 records have been created on Drupal 8 site.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZe64vXTA4K-czfAVOlQGXZl2GYQvqg9TEKbzXPBQktOhcjvomZlEJtNmht0yj34PsKWKuDxwv1NyDS1mD0PIG2pQ_YFGdstJekYySc56AEGQdaVEcwIybEwlemy2THR0fOro/s1600/migrate_xml_d8_custom_d8_content.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZe64vXTA4K-czfAVOlQGXZl2GYQvqg9TEKbzXPBQktOhcjvomZlEJtNmht0yj34PsKWKuDxwv1NyDS1mD0PIG2pQ_YFGdstJekYySc56AEGQdaVEcwIybEwlemy2THR0fOro/s640/migrate_xml_d8_custom_d8_content.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
The source code is also available on &lt;a href=&quot;https://github.com/amitgoyal/migrate_xml_d8_custom&quot;&gt;Git repository&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Please note that in case you make any changes in .yml file under config/install/ after enabling the module then you have to uninstall the module first and then enable it again. Otherwise your changes will not be reflected. In such cases you also need to delete a record from config table using below SQL command,&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
DELETE FROM `config` WHERE `name` LIKE &#39;%pages_content%&#39;;&lt;/blockquote&gt;
&lt;br /&gt;
To avoid deleting the record manually, we can use hook_uninstall() in .module file.&lt;br /&gt;
&lt;br /&gt;
You can also explore more on migration from various resources in &lt;a href=&quot;http://cgit.drupalcode.org/migrate_plus/tree/migrate_example_advanced&quot;&gt;migrate_example_advanced&lt;/a&gt; module under migrate_tools module.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.amitgoyal.in/feeds/8422429995032639376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/16340866/8422429995032639376' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/8422429995032639376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/8422429995032639376'/><link rel='alternate' type='text/html' href='http://www.amitgoyal.in/2016/09/xml-d8-migration-very-basic-migration.html' title='XML-D8 Migration: Very basic migration by just using YML file'/><author><name>Amit Goyal</name><uri>http://www.blogger.com/profile/08660977858249306761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAtJ7kv42Etlm2ZROXsfmqrdclYgJAJPzhbIHncPJ3TIqq-ZheOjiUVGDokTGg4eqRWsEThQ06yZIEz-BhVQi2SHXO4AOcIaNscjiU3gauc3X332NTyqSiZ1l6ruIJ/s80/amit05.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGz6FLm4Jj40Ibe0QaCAqqCoqMaXKV71iD_6clTHLH_9qWMh_44lpgPTvaq_5faKZwO4qAGg5gKdN7V2QfN1pyBRXS8qZTml0xalHPKMdBBd62FNKd9m7NqTfE4Vel4JJP-aE/s72-c/migrate_xml_d8_custom.info.yml.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16340866.post-7123159988441667072</id><published>2016-06-17T14:21:00.000+05:30</published><updated>2016-06-17T14:21:46.300+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="d6-d8 migration"/><category scheme="http://www.blogger.com/atom/ns#" term="missing migrations"/><title type='text'>D6-D8 migration: How did we find missing migrations?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
We were working on D6 to D8 migration projects where we were migrating the revised database of D6 site to D8 site every other month.&lt;br /&gt;
&lt;br /&gt;
We started with full migration initially and then with partial migration subsequently. This was working perfectly fine. We were using drush commands to do the migration.&lt;br /&gt;
&lt;br /&gt;
But recently when we got the latest D6 database, we were no longer seeing term node migration entities (d6_term_node__1, d6_term_node__2 etc.) with drush migrate-status command in D8. Although migration worked fine for all other items but as we were not seeing term node relationship entities (d6_term_node__1) so latest migrated content doesn&#39;t had terms associated with it.&lt;br /&gt;
&lt;br /&gt;
We tried switching to old D6 database but that didn&#39;t help. We tried using --configure-only option with drush command to regenerate the migrations but even that didn&#39;t help,&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
drush migrate-upgrade --configure-only --legacy-db-url=mysql://drupaluser:@127.0.0.1:33067/d6 --legacy-root=http://d6.local:8083&lt;/blockquote&gt;
&lt;br /&gt;
We also checked &quot;config&quot; table but those migrations were not present there,&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
SELECT * FROM `config` WHERE `name` LIKE &#39;%d6_term_node%&#39;;&lt;/blockquote&gt;
&lt;br /&gt;
We were almost stuck and not sure what to do.&lt;br /&gt;
&lt;br /&gt;
As were using revision control and code management system (GIT) so after the first migrate-upgrade, we exported the configuration (Configuration Synchronization - full export) into git repository. At this point, d6_term_node_* migrations were present.&lt;br /&gt;
&lt;br /&gt;
So, to recover the missing migrations, we imported those files (migrate.migration.d6_term_node__1.yml, migrate.migration.d6_term_node__2.yml etc.) one by one from Configuration synchronization-&amp;gt;Import-&amp;gt;Single item (/admin/config/development/configuration/single/import),&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRZD2zpaCM23-ZCFbEE0dnT9ynts0J4QRC6BFnLfdmJSa8MlJQc62CbeUNpPv1LFKux-ozhEVxU-Y1-MHLlvX9G4QhwqRxUlSeTp9YaCql8_PRFPihcH_YTyfLblqDxHCdQlc/s1600/d6_d8_config_sync_single_import.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRZD2zpaCM23-ZCFbEE0dnT9ynts0J4QRC6BFnLfdmJSa8MlJQc62CbeUNpPv1LFKux-ozhEVxU-Y1-MHLlvX9G4QhwqRxUlSeTp9YaCql8_PRFPihcH_YTyfLblqDxHCdQlc/s1600/d6_d8_config_sync_single_import.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
After the import above, we could see those missing migration using &quot;drush ms&quot; command and imported those missing migrations successfully.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
drush migrate-import d6_term_node__1 &lt;br /&gt;drush migrate-import d6_term_node__2 &lt;/blockquote&gt;
&lt;br /&gt;
You can find more information on how to execute Drupal upgrade using Drush commands here - &lt;a href=&quot;https://www.drupal.org/node/2350651&quot;&gt;https://www.drupal.org/node/2350651&lt;/a&gt;.&lt;br /&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.amitgoyal.in/feeds/7123159988441667072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/16340866/7123159988441667072' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/7123159988441667072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/7123159988441667072'/><link rel='alternate' type='text/html' href='http://www.amitgoyal.in/2016/06/d6-d8-migration-find-missing-migrations.html' title='D6-D8 migration: How did we find missing migrations?'/><author><name>Amit Goyal</name><uri>http://www.blogger.com/profile/08660977858249306761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAtJ7kv42Etlm2ZROXsfmqrdclYgJAJPzhbIHncPJ3TIqq-ZheOjiUVGDokTGg4eqRWsEThQ06yZIEz-BhVQi2SHXO4AOcIaNscjiU3gauc3X332NTyqSiZ1l6ruIJ/s80/amit05.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRZD2zpaCM23-ZCFbEE0dnT9ynts0J4QRC6BFnLfdmJSa8MlJQc62CbeUNpPv1LFKux-ozhEVxU-Y1-MHLlvX9G4QhwqRxUlSeTp9YaCql8_PRFPihcH_YTyfLblqDxHCdQlc/s72-c/d6_d8_config_sync_single_import.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16340866.post-3755035923487492490</id><published>2016-06-17T12:26:00.000+05:30</published><updated>2016-06-17T12:26:18.667+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="drupal8"/><category scheme="http://www.blogger.com/atom/ns#" term="module uninstall"/><title type='text'>How did we uninstall / disable troublesome module in Drupal 8?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Most of the times, module can be uninstalled from the Module Uninstall page (/admin/modules/uninstall) of Drupal 8. We can also use following drush command to uninstall a module,&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
drush pm-uninstall module-name&lt;/blockquote&gt;
&lt;br /&gt;
But as we know, contrib / custom modules are maturing day by day, sometimes we see D7 specific code in uninstall hooks which cause issues during uninstallation of module.&lt;br /&gt;
&lt;br /&gt;
We were having the similar issue. We were not able to uninstall the module from Drush or from Module Uninstall interface as it was throwing errors due to code in hook_uninstall().&lt;br /&gt;&lt;br /&gt;The &#39;acquia_search_multi_subs&#39; module was giving error in our case during uninstall and data in &#39;config&#39; table looks like below,&lt;br /&gt;&lt;br /&gt;
&lt;pre class=&quot;default prettyprint prettyprinted&quot; style=&quot;-webkit-text-stroke-width: 0px; background-color: #eff0f1; border: 0px; color: #393318; display: block; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; margin: 0px 0px 1em; max-height: 600px; orphans: auto; overflow: auto; padding: 5px; text-align: left; text-indent: 0px; text-transform: none; widows: 1; width: auto; word-spacing: 0px; word-wrap: normal;&quot;&gt;&lt;code style=&quot;background-color: #eff0f1; border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;drush sqlq &lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;select * from config where name=&#39;core.extension&#39;&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;

core&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;extension  a&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:{&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;module&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;74&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:{&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;16&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;acquia_connector&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;13&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;acquia_search&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;24&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;acquia_search_multi_subs&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;13&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;admin_toolbar&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;19&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;admin_toolbar_tools&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;block&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;13&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;block_content&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;breakpoint&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;ckeditor&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;coffee&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;comment&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;16&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;composer_manager&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;config&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;contact&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;15&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;contact_storage&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;contextual&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;ctools&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;datetime&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;dblog&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;18&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;dynamic_page_cache&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;editor&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;26&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;entity_reference_revisions&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;facets&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;field&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;field_ui&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;file&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;filter&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;image&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;13&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;layout_plugin&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;link&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;17&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;menu_link_content&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;menu_ui&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;metatag&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;18&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;metatag_open_graph&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;migrate&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;14&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;migrate_drupal&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;12&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;migrate_plus&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;13&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;migrate_tools&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;15&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;migrate_upgrade&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;node&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;options&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;page_cache&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;12&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;page_manager&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;15&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;page_manager_ui&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;panels&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;paragraphs&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;path&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;quickedit&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;rdf&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;11&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;rdf_builder&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;rdfui&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;16&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;responsive_image&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;search_api&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;15&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;search_api_solr&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;15&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;security_review&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;sharethis&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;14&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;simple_sitemap&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;system&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;taxonomy&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;telephone&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;text&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;token&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;toolbar&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;update&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;user&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;zzz_common&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;11&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;zzz_migrate&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;11&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;zzz_zipcode&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;views&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;views_ui&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;workbench_moderation&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;youtube&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;pathauto&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;aaazzz&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;1000&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;}&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;theme&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:{&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;stark&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;stable&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;classy&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;seven&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;bartik&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;11&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;zzzmagazine&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;;}}&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;div style=&quot;-webkit-text-stroke-width: 0px; background-color: white; border: 0px; clear: both; color: #242729; font-family: Arial, &#39;Helvetica Neue&#39;, Helvetica, sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19.5px; margin: 0px 0px 1em; orphans: auto; padding: 0px; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;&quot;&gt;
To uninstall the module, we run following sql statement on d8 database. Basically we removed s:24:&quot;acquia_search_multi_subs&quot;;i:0; from &#39;data&#39; field and reduced the length of the array to 73 in our case.&lt;/div&gt;
&lt;div class=&quot;post-text&quot; itemprop=&quot;text&quot; style=&quot;-webkit-text-stroke-width: 0px; background-color: white; border: 0px; color: #242729; font-family: Arial, &#39;Helvetica Neue&#39;, Helvetica, sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 1.3; margin: 0px 0px 5px; orphans: auto; padding: 0px; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; width: 660px; word-spacing: 0px; word-wrap: break-word;&quot;&gt;
&lt;pre class=&quot;default prettyprint prettyprinted&quot; style=&quot;background-color: #eff0f1; border: 0px; color: #393318; display: block; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; margin: 0px 0px 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;background-color: #eff0f1; border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;drush sqlq &lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: #7d2727; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&quot;update config set data = &#39;a:2:{s:6:\&quot;module\&quot;;a:73:{s:16:\&quot;acquia_connector\&quot;;i:0;s:13:\&quot;acquia_search\&quot;;i:0;s:13:\&quot;admin_toolbar\&quot;;i:0;s:19:\&quot;admin_toolbar_tools\&quot;;i:0;s:5:\&quot;block\&quot;;i:0;s:13:\&quot;block_content\&quot;;i:0;s:10:\&quot;breakpoint\&quot;;i:0;s:8:\&quot;ckeditor\&quot;;i:0;s:6:\&quot;coffee\&quot;;i:0;s:7:\&quot;comment\&quot;;i:0;s:16:\&quot;composer_manager\&quot;;i:0;s:6:\&quot;config\&quot;;i:0;s:7:\&quot;contact\&quot;;i:0;s:15:\&quot;contact_storage\&quot;;i:0;s:10:\&quot;contextual\&quot;;i:0;s:6:\&quot;ctools\&quot;;i:0;s:8:\&quot;datetime\&quot;;i:0;s:5:\&quot;dblog\&quot;;i:0;s:18:\&quot;dynamic_page_cache\&quot;;i:0;s:6:\&quot;editor\&quot;;i:0;s:26:\&quot;entity_reference_revisions\&quot;;i:0;s:6:\&quot;facets\&quot;;i:0;s:5:\&quot;field\&quot;;i:0;s:8:\&quot;field_ui\&quot;;i:0;s:4:\&quot;file\&quot;;i:0;s:6:\&quot;filter\&quot;;i:0;s:5:\&quot;image\&quot;;i:0;s:13:\&quot;layout_plugin\&quot;;i:0;s:4:\&quot;link\&quot;;i:0;s:17:\&quot;menu_link_content\&quot;;i:0;s:7:\&quot;menu_ui\&quot;;i:0;s:7:\&quot;metatag\&quot;;i:0;s:18:\&quot;metatag_open_graph\&quot;;i:0;s:7:\&quot;migrate\&quot;;i:0;s:14:\&quot;migrate_drupal\&quot;;i:0;s:12:\&quot;migrate_plus\&quot;;i:0;s:13:\&quot;migrate_tools\&quot;;i:0;s:15:\&quot;migrate_upgrade\&quot;;i:0;s:4:\&quot;node\&quot;;i:0;s:7:\&quot;options\&quot;;i:0;s:10:\&quot;page_cache\&quot;;i:0;s:12:\&quot;page_manager\&quot;;i:0;s:15:\&quot;page_manager_ui\&quot;;i:0;s:6:\&quot;panels\&quot;;i:0;s:10:\&quot;paragraphs\&quot;;i:0;s:4:\&quot;path\&quot;;i:0;s:9:\&quot;quickedit\&quot;;i:0;s:3:\&quot;rdf\&quot;;i:0;s:11:\&quot;rdf_builder\&quot;;i:0;s:5:\&quot;rdfui\&quot;;i:0;s:16:\&quot;responsive_image\&quot;;i:0;s:10:\&quot;search_api\&quot;;i:0;s:15:\&quot;search_api_solr\&quot;;i:0;s:15:\&quot;security_review\&quot;;i:0;s:9:\&quot;sharethis\&quot;;i:0;s:14:\&quot;simple_sitemap\&quot;;i:0;s:6:\&quot;system\&quot;;i:0;s:8:\&quot;taxonomy\&quot;;i:0;s:9:\&quot;telephone\&quot;;i:0;s:4:\&quot;text\&quot;;i:0;s:5:\&quot;token\&quot;;i:0;s:7:\&quot;toolbar\&quot;;i:0;s:6:\&quot;update\&quot;;i:0;s:4:\&quot;user\&quot;;i:0;s:10:\&quot;zzz_common\&quot;;i:0;s:11:\&quot;zzz_migrate\&quot;;i:0;s:11:\&quot;zzz_zipcode\&quot;;i:0;s:5:\&quot;views\&quot;;i:0;s:8:\&quot;views_ui\&quot;;i:0;s:20:\&quot;workbench_moderation\&quot;;i:0;s:7:\&quot;youtube\&quot;;i:0;s:8:\&quot;pathauto\&quot;;i:1;s:6:\&quot;aaazzz\&quot;;i:1000;}s:5:\&quot;theme\&quot;;a:6:{s:5:\&quot;stark\&quot;;i:0;s:6:\&quot;stable\&quot;;i:0;s:6:\&quot;classy\&quot;;i:0;s:5:\&quot;seven\&quot;;i:0;s:6:\&quot;bartik\&quot;;i:0;s:11:\&quot;zzzmagazine\&quot;;i:0;}}&#39; where name=&#39;core.extension&#39;&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;border: 0px; clear: both; font-size: 15px; margin: 0px 0px 1em; padding: 0px;&quot;&gt;
Please make sure to take the backup of the table before executing such commands as if something goes wrong then you won&#39;t be able access the site. &lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-width: 0px; background-color: white; border: 0px; clear: both; color: #242729; font-family: Arial, &#39;Helvetica Neue&#39;, Helvetica, sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19.5px; margin: 0px 0px 1em; orphans: auto; padding: 0px; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.amitgoyal.in/feeds/3755035923487492490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/16340866/3755035923487492490' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/3755035923487492490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/3755035923487492490'/><link rel='alternate' type='text/html' href='http://www.amitgoyal.in/2016/06/how-did-we-uninstall-troublesome-module.html' title='How did we uninstall / disable troublesome module in Drupal 8?'/><author><name>Amit Goyal</name><uri>http://www.blogger.com/profile/08660977858249306761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAtJ7kv42Etlm2ZROXsfmqrdclYgJAJPzhbIHncPJ3TIqq-ZheOjiUVGDokTGg4eqRWsEThQ06yZIEz-BhVQi2SHXO4AOcIaNscjiU3gauc3X332NTyqSiZ1l6ruIJ/s80/amit05.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16340866.post-1377418509746419746</id><published>2016-06-06T12:31:00.000+05:30</published><updated>2016-06-06T12:31:44.418+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="d6-d8 migration"/><category scheme="http://www.blogger.com/atom/ns#" term="drupal"/><category scheme="http://www.blogger.com/atom/ns#" term="skip data"/><title type='text'>D6-D8 migration: How did we skip certain content types from migration?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
In one of our projects, there were 10-12 content types in D6 site but some of them were not being used anymore. So we had to skip them during migration. We wanted to skip those unwanted content types, their fields and content in those content types.&lt;br /&gt;
&lt;br /&gt;
One option is generate the migrations using --configure-only 
option in migrate-upgrade drush command. Then export the generated migrations on file system. Afterwards we can remove the unwanted yml files for those unwanted content types and remove their dependencies, if any, from other content types in their yml files. This will help in skipping the migrations of certain content types. We can also make changes in the yml files as per our requirement like mapping of new fields with old field, process plugins for certain fields etc.&lt;br /&gt;
&lt;br /&gt;
We used another approach. We used &lt;a href=&quot;https://api.drupal.org/api/drupal/core%21modules%21migrate%21migrate.api.php/function/hook_migrate_prepare_row/8.2.x&quot;&gt;hook_migrate_prepare_row()&lt;/a&gt; in our custom module to skip the certain migrations. Following code helped us to skip the migrations of certain content types, their fields and data,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnZ1PBUV-sjs2Q38HoNYbCUc0Lv9BC7g2cmO02UUbq7GE7Mblp5Mw_z8mEc6l06XGPx4KKNNmdi64Cpt8U7T7iAi_VJmXpfG4XTS0P0VuBY8vgM_NFhsSwzXHln3KJc_8g5Yo/s1600/skip_ct_migration_using_hook_migrate_prepare_row.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnZ1PBUV-sjs2Q38HoNYbCUc0Lv9BC7g2cmO02UUbq7GE7Mblp5Mw_z8mEc6l06XGPx4KKNNmdi64Cpt8U7T7iAi_VJmXpfG4XTS0P0VuBY8vgM_NFhsSwzXHln3KJc_8g5Yo/s1600/skip_ct_migration_using_hook_migrate_prepare_row.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.amitgoyal.in/feeds/1377418509746419746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/16340866/1377418509746419746' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/1377418509746419746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/1377418509746419746'/><link rel='alternate' type='text/html' href='http://www.amitgoyal.in/2016/06/d6-d8-migration-how-did-we-skip-content-types.html' title='D6-D8 migration: How did we skip certain content types from migration?'/><author><name>Amit Goyal</name><uri>http://www.blogger.com/profile/08660977858249306761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAtJ7kv42Etlm2ZROXsfmqrdclYgJAJPzhbIHncPJ3TIqq-ZheOjiUVGDokTGg4eqRWsEThQ06yZIEz-BhVQi2SHXO4AOcIaNscjiU3gauc3X332NTyqSiZ1l6ruIJ/s80/amit05.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnZ1PBUV-sjs2Q38HoNYbCUc0Lv9BC7g2cmO02UUbq7GE7Mblp5Mw_z8mEc6l06XGPx4KKNNmdi64Cpt8U7T7iAi_VJmXpfG4XTS0P0VuBY8vgM_NFhsSwzXHln3KJc_8g5Yo/s72-c/skip_ct_migration_using_hook_migrate_prepare_row.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16340866.post-5173811916012933555</id><published>2016-03-14T14:18:00.000+05:30</published><updated>2016-03-14T14:18:35.001+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="d6-d8 migration"/><category scheme="http://www.blogger.com/atom/ns#" term="metatag"/><category scheme="http://www.blogger.com/atom/ns#" term="migration"/><category scheme="http://www.blogger.com/atom/ns#" term="nodewords"/><title type='text'>D6-D8 migration: How did we migrate Drupal 6 Nodewords: D6 Meta Tags (nodewords module) to Drupal 8 Metatag</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
In Drupal 6, we use &lt;a href=&quot;https://www.drupal.org/project/nodewords&quot;&gt;Nodewords: D6 Meta Tags&lt;/a&gt; module to have meta tags attached to Content. Currently Drupal 8 &lt;a href=&quot;https://www.drupal.org/project/metatag&quot;&gt;Metatag&lt;/a&gt; module doesn&#39;t support migration of meta tags from Drupal 6 content to Drupal 8 content.&lt;br /&gt;
&lt;br /&gt;

We used following steps to migrate the meta tags from D6 to D8 site:&lt;br /&gt;
&lt;br /&gt;

1) Firstly we setup the D6 site by enabling contributed &lt;a href=&quot;https://www.drupal.org/project/nodewords&quot;&gt;Nodewords&lt;/a&gt; module along with it&#39;s sub module Nodewords basic meta tags. These two modules provided support for adding meta tags information in all the available content types. Our D6 site looks like below after we added content in Page content type along with meta tags information,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdvOMRpaWUIiBVlLoF4tf_pdJp8z8zvyxChVOSBS5gbRSaidEs3j6jtvtBNpGfKc2kQ0yFkvvSfmq1zU0w7_VytZPkcElaHzEBOEf17UFZhgyuHcd9BxTa4drQNRgLe3egV1A/s1600/d6_page_edit_metatag.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdvOMRpaWUIiBVlLoF4tf_pdJp8z8zvyxChVOSBS5gbRSaidEs3j6jtvtBNpGfKc2kQ0yFkvvSfmq1zU0w7_VytZPkcElaHzEBOEf17UFZhgyuHcd9BxTa4drQNRgLe3egV1A/s640/d6_page_edit_metatag.png&quot; width=&quot;351&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
2) Next we setup D8 site and enabled &lt;a href=&quot;https://www.drupal.org/project/metatag&quot;&gt;Metatag&lt;/a&gt; module.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
drush en metatag -y&lt;/blockquote&gt;
We added Metatag field (field_metatag) of field type &#39;Meta tags&#39; in Page content type so that we can migrate D6 metatag information in Page content type to this field. You have to add &#39;Meta tags&#39; type field in the content types if you want to associate meta tags information with the content.&lt;br /&gt;
&lt;br /&gt;

3) Next we enabled &lt;a href=&quot;https://www.drupal.org/project/migrate_upgrade&quot; target=&quot;_blank&quot;&gt;Drupal Upgrade&lt;/a&gt; and &lt;a href=&quot;https://www.drupal.org/project/migrate_tools&quot; target=&quot;_blank&quot;&gt;Migrate Tools&lt;/a&gt; contrib modules for the migration,&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
drush en migrate_upgrade migrate_tools -y&amp;nbsp;&lt;/blockquote&gt;
4) This was optional step. We specified $config_directories variable in settings.php,&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
$config_directories[&#39;sync&#39;] = &#39;config&#39;;&lt;/blockquote&gt;
5) To generate the migrations for our site, we passed --configure-only 
option to migrate-upgrade drush command. As it indicates, our D6 site is
 hosted at http://d6.local:8083 and database name is d6.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
drush migrate-upgrade --configure-only --legacy-db-url=mysql://drupaluser:@127.0.0.1:33067/d6 --legacy-root=http://d6.local:8083&lt;/blockquote&gt;
6) To export the generated migrations in above step to &#39;config&#39; folder on file system,&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
drush config-export sync&lt;/blockquote&gt;
7) We created one custom module, &lt;a href=&quot;https://github.com/amitgoyal/migrate_d6_metatag_custom&quot; target=&quot;_blank&quot;&gt;migrate_d6_metatag_custom&lt;/a&gt;, with the following files/folders,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi18W6yNamYjmaR_QPRlnPFmvpar4ezpKx4Zz2aWs_Dd3cqusgW4WC1ho_SLbK_j6TnfIEN1Bq_Ie5fCHcSP_IkSaTW8UkkW-s1dObHvyIynvWdYyBnov2m1mshH-5bVeEbovw/s1600/migrate_d6_metatag_custom_structure.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;190&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi18W6yNamYjmaR_QPRlnPFmvpar4ezpKx4Zz2aWs_Dd3cqusgW4WC1ho_SLbK_j6TnfIEN1Bq_Ie5fCHcSP_IkSaTW8UkkW-s1dObHvyIynvWdYyBnov2m1mshH-5bVeEbovw/s320/migrate_d6_metatag_custom_structure.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8) We copied config/migrate.migration.d6_node__page.yml, it was created 
by &#39;drush config-export&#39; command above, to config/install/ folder,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
cp config/migrate.migration.d6_node__page.yml 
modules/custom/migrate_d6_metatag_custom/config/install/migrate.migration.d6_node__page_custom.yml&lt;/blockquote&gt;
We changed the &#39;id&#39; to &#39;d6_node__page_custom&#39; and added Metatag field mapping like below,&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;nbsp; field_metatag:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; plugin: d6_nodewords&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; source: field_metatag &lt;/blockquote&gt;
d6_nodewords is a process plugin which will convert the D6 nodewords data into D8 meta tags format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;

9) Next we added hook_migrate_prepare_row() in our &lt;a href=&quot;https://github.com/amitgoyal/migrate_d6_metatag_custom/blob/master/migrate_d6_metatag_custom.module&quot;&gt;migrate_d6_metatag_custom.module&lt;/a&gt; file. The code looks like below, &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFSxXIvUpSNI5PMYHkkEMgBL5leq2kjP1gIVcBYjgeTmP_GQcvb81yW0CSFPODCYe3GftxX0ik98gwdeWlYyxG7zEPsDeTEgmE9qIBFfpRXQYwRC0ZOvt14p3E1bj4l1R_s58/s1600/metatag_hook_migrate_prepare_row.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;218&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFSxXIvUpSNI5PMYHkkEMgBL5leq2kjP1gIVcBYjgeTmP_GQcvb81yW0CSFPODCYe3GftxX0ik98gwdeWlYyxG7zEPsDeTEgmE9qIBFfpRXQYwRC0ZOvt14p3E1bj4l1R_s58/s640/metatag_hook_migrate_prepare_row.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
This will fetch the meta tags information from D6 database based on the current record (node id) being processed. After getting the data, it&#39;s being unserialized and finally being assigned to &#39;field_metatag&#39;. This field or variable &#39;field_metatag&#39; will be used by process plugin to convert the D6 nodewords data into D8 meta tags format.&lt;br /&gt;
&lt;br /&gt;

10) The code in process plugin, &lt;a href=&quot;https://github.com/amitgoyal/migrate_d6_metatag_custom/blob/master/src/Plugin/migrate/process/Nodewords.php&quot;&gt;Nodewords.php&lt;/a&gt;, looks like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb3pjMca4YzRLhSzOxgahE2XIJZd4Qmou1dLdORtcreGxVpVU1XJT3CgDTWIix4wkeN1IzHY4Er6ZkhtSkdH8yDuOhafopieNchv-V6vhu288N1oK4XIIeLwILkcDcPi6B2Ng/s1600/nodewords_process_plugin.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;626&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb3pjMca4YzRLhSzOxgahE2XIJZd4Qmou1dLdORtcreGxVpVU1XJT3CgDTWIix4wkeN1IzHY4Er6ZkhtSkdH8yDuOhafopieNchv-V6vhu288N1oK4XIIeLwILkcDcPi6B2Ng/s640/nodewords_process_plugin.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
As per field mapping in step 8 and then assigning the meta tags data to &#39;field_metatag&#39; in step 9, process plugin will get D6 meta tags information (stored in &#39;field_metatag&#39;) in &#39;$value&#39; variable. This code converts the D6 meta tags data into D8 meta tags format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
11) Finally we enabled our custom module and executed the migration,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
drush en migrate_d6_metatag_custom -y&lt;br /&gt;
&lt;br /&gt;
drush migrate-import d6_filter_format&lt;br /&gt;
drush migrate-import d6_node_type&lt;br /&gt;
drush migrate-import d6_user_role&lt;br /&gt;
drush migrate-import d6_user&lt;br /&gt;
drush migrate-import d6_node__page_custom&lt;/blockquote&gt;
&lt;br /&gt;
Page migration depends upon &#39;d6_filter_format&#39;, &#39;d6_node_type&#39;, 
&#39;d6_user_role&#39; and &#39;d6_user&#39; migrations so we executed them first.&lt;br /&gt;
&lt;br /&gt;
You can also run complete migration by passing &#39;--all&#39; option to migrate-import drush command,&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
drush migrate-import --all&lt;/blockquote&gt;
&lt;br /&gt;
After the migration, D8 site contains meta tags information for the given content and looks like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjygRETE2prKqMZOciB7eAmBESqMz6jKLH3cHbxC-pgNNI6dMtZGhqLysj-EvFRxUZAJn94cQzTvkCwaYjadhw0MzP_A0rpxL8xgyGbzVX7za_tbBHsu57d48Y-K1w4En4FF-A/s1600/d8_page_edit_metatag.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;417&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjygRETE2prKqMZOciB7eAmBESqMz6jKLH3cHbxC-pgNNI6dMtZGhqLysj-EvFRxUZAJn94cQzTvkCwaYjadhw0MzP_A0rpxL8xgyGbzVX7za_tbBHsu57d48Y-K1w4En4FF-A/s640/d8_page_edit_metatag.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
The custom module is hosted on Github - &lt;a href=&quot;https://github.com/amitgoyal/migrate_d6_metatag_custom&quot;&gt;https://github.com/amitgoyal/migrate_d6_metatag_custom&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;You can find more information on how to execute Drupal upgrade using Drush command here - &lt;a href=&quot;https://www.drupal.org/node/2350651&quot;&gt;https://www.drupal.org/node/2350651&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.amitgoyal.in/feeds/5173811916012933555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/16340866/5173811916012933555' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/5173811916012933555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/5173811916012933555'/><link rel='alternate' type='text/html' href='http://www.amitgoyal.in/2016/03/d6-d8-migration-migrate-nodewords-to-metatag.html' title='D6-D8 migration: How did we migrate Drupal 6 Nodewords: D6 Meta Tags (nodewords module) to Drupal 8 Metatag'/><author><name>Amit Goyal</name><uri>http://www.blogger.com/profile/08660977858249306761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAtJ7kv42Etlm2ZROXsfmqrdclYgJAJPzhbIHncPJ3TIqq-ZheOjiUVGDokTGg4eqRWsEThQ06yZIEz-BhVQi2SHXO4AOcIaNscjiU3gauc3X332NTyqSiZ1l6ruIJ/s80/amit05.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdvOMRpaWUIiBVlLoF4tf_pdJp8z8zvyxChVOSBS5gbRSaidEs3j6jtvtBNpGfKc2kQ0yFkvvSfmq1zU0w7_VytZPkcElaHzEBOEf17UFZhgyuHcd9BxTa4drQNRgLe3egV1A/s72-c/d6_page_edit_metatag.png" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16340866.post-4174945787750434261</id><published>2016-03-11T11:21:00.004+05:30</published><updated>2016-03-14T14:20:12.758+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="d6-d8 migration"/><category scheme="http://www.blogger.com/atom/ns#" term="image migration"/><category scheme="http://www.blogger.com/atom/ns#" term="migration"/><title type='text'>D6-D8 migration: Migration of Drupal 6 Images (Image module) to Drupal 8 Images</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
As per &lt;a href=&quot;http://www.amitgoyal.in/2016/03/d6-d8-migration-imagefield-images.html&quot; target=&quot;_blank&quot;&gt;D6-D8 migration: Migration of Drupal 6 Images (ImageField module) to Drupal 8 Images works out of the Box!&lt;/a&gt;, we tried to migrate images from D6 site, which is using &lt;a href=&quot;https://www.drupal.org/project/image&quot; target=&quot;_blank&quot;&gt;Image&lt;/a&gt; module, but the images didn&#39;t get migrated.&lt;br /&gt;
&lt;br /&gt;
So images uploaded using &lt;a href=&quot;https://www.drupal.org/project/image&quot; target=&quot;_blank&quot;&gt;Image&lt;/a&gt; module along with it&#39;s sub module image_attach in D6 content type don&#39;t migrate out of the box.&lt;br /&gt;
&lt;br /&gt;
We used following steps to migrate the Images from D6 to D8 site:&lt;br /&gt;
&lt;br /&gt;
1) Firstly we setup the D6 site by enabling contributed &lt;a href=&quot;https://www.drupal.org/project/image&quot; target=&quot;_blank&quot;&gt;Image&lt;/a&gt; module along with it&#39;s sub module image_attach. And then we enabled images support for Page content type like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidWO9b1IC7w2xpxPZi5w4LgUgTlQ3QX8vYu2dNWn2sJHdAhRoE4P9QrxSXiC8F2VumiZQ5bgl_yNSP1f-Yew0WVJbuktimCZL3xYHR3uAzY_Kl29OOxrMF2i7r2ekGeDBnESE/s1600/d6_page_ct_image_settings.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidWO9b1IC7w2xpxPZi5w4LgUgTlQ3QX8vYu2dNWn2sJHdAhRoE4P9QrxSXiC8F2VumiZQ5bgl_yNSP1f-Yew0WVJbuktimCZL3xYHR3uAzY_Kl29OOxrMF2i7r2ekGeDBnESE/s640/d6_page_ct_image_settings.png&quot; width=&quot;592&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
2) Next we added the content in page content type with multiple images in D6 site. Our D6 site looks like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK9YP7Sd8P3SBDpw5_qc-cTVo03zhEFSwNMqaDJs8IFtjY_eAhtw63fQvKjke5WkwAEGTg0FqmX723w2GiIXyH1x06hR06I_7_X5yRGTcxlJtDWelecoAW7zHEUd_E-Qf7FT4/s1600/d6_page_view.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;126&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK9YP7Sd8P3SBDpw5_qc-cTVo03zhEFSwNMqaDJs8IFtjY_eAhtw63fQvKjke5WkwAEGTg0FqmX723w2GiIXyH1x06hR06I_7_X5yRGTcxlJtDWelecoAW7zHEUd_E-Qf7FT4/s640/d6_page_view.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
3) Next we setup D8 site and added Image field (field_page_image) in Page content type. We enabled &lt;a href=&quot;https://www.drupal.org/project/migrate_upgrade&quot; target=&quot;_blank&quot;&gt;Drupal Upgrade&lt;/a&gt; and &lt;a href=&quot;https://www.drupal.org/project/migrate_tools&quot; target=&quot;_blank&quot;&gt;Migrate Tools&lt;/a&gt; contrib modules for the migration,&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
drush en migrate_upgrade migrate_tools -y&lt;/blockquote&gt;
4) This was optional step. We specified $config_directories variable in settings.php,&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
$config_directories[&#39;sync&#39;] = &#39;config&#39;;&lt;/blockquote&gt;
5) To generate the migrations for our site, we passed --configure-only 
option to migrate-upgrade drush command. As it indicates, our D6 site is
 hosted at http://d6.local:8083 and database name is d6.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
drush migrate-upgrade --configure-only --legacy-db-url=mysql://drupaluser:@127.0.0.1:33067/d6 --legacy-root=http://d6.local:8083&lt;/blockquote&gt;
6) To export the generated migrations in above step to &#39;config&#39; folder on file system,&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
drush config-export sync&lt;/blockquote&gt;
&amp;nbsp;
7) We created one custom module, &lt;a href=&quot;https://github.com/amitgoyal/migrate_d6_image_custom&quot; target=&quot;_blank&quot;&gt;migrate_d6_image_custom&lt;/a&gt;, with the following files/folders,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgixueqFa0M_9cpTQbWvuTJDJBBp1OlJEVkcAu9G1VOQy8k9sVbLsMuc5HVa6DbeUJZPmhn4MTsT5ttJACur5LxT0PVqyBBe7BY1X5turdIyRG-pUB1asirAvOMi7fxal7uT6w/s1600/migrate_d6_image_custom_structure.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;160&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgixueqFa0M_9cpTQbWvuTJDJBBp1OlJEVkcAu9G1VOQy8k9sVbLsMuc5HVa6DbeUJZPmhn4MTsT5ttJACur5LxT0PVqyBBe7BY1X5turdIyRG-pUB1asirAvOMi7fxal7uT6w/s400/migrate_d6_image_custom_structure.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&amp;nbsp;8) We copied config/migrate.migration.d6_node__page.yml, it was created 
by &#39;drush config-export&#39; command above, to config/install folder,&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
cp config/migrate.migration.d6_node__page.yml 
modules/custom/migrate_d6_custom/config/install/migrate.migration.d6_node__page_custom.yml&lt;/blockquote&gt;
&amp;nbsp;We changed the &#39;id&#39; to &#39;d6_node__page_custom&#39; and added Image field mapping like below,&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;nbsp; field_page_image:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; plugin: d6_cck_file&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; source: field_page_image &lt;/blockquote&gt;
9) Next we added hook_migrate_prepare_row() in our &lt;a href=&quot;https://github.com/amitgoyal/migrate_d6_image_custom/blob/master/migrate_d6_image_custom.module&quot;&gt;migrate_d6_image_custom.module&lt;/a&gt; file. The code looks like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXAt9bZh9PQv_6RS398sxB42rwiGGmVuwbsgR_N72n7gFzdmpjiFhOZ1z8QsMECJ0tPrXmxu3rl9Y_fGyA4aS0X8EsdSClOHbBs1tGc2295C5U0MTfHlT56klXaU7ZX3n8Ess/s1600/hook_migrate_prepare_row.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;362&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXAt9bZh9PQv_6RS398sxB42rwiGGmVuwbsgR_N72n7gFzdmpjiFhOZ1z8QsMECJ0tPrXmxu3rl9Y_fGyA4aS0X8EsdSClOHbBs1tGc2295C5U0MTfHlT56klXaU7ZX3n8Ess/s640/hook_migrate_prepare_row.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Basically this code runs only for our custom node page migration and it loads all the images from D6 database for the given node. Then it builds up the array as required by d6_cck_plugin as used in step 8 above. Finally it creates one field in source row called &#39;field_page_image&#39;.&lt;br /&gt;
&lt;br /&gt;
10) Finally we enabled our custom module and executed the migration,&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
drush en migrate_d6_image_custom -y&lt;br /&gt;
&lt;br /&gt;
drush migrate-import d6_file&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
drush migrate-import d6_filter_format&lt;br /&gt;
drush migrate-import d6_node_type&lt;br /&gt;
drush migrate-import d6_user_role&lt;br /&gt;
drush migrate-import d6_user&lt;br /&gt;
drush migrate-import d6_node__page_custom&lt;/blockquote&gt;
We have to migrate the images first so we executed the file migration first. Page migration depends upon &#39;d6_filter_format&#39;, &#39;d6_node_type&#39;, 
&#39;d6_user_role&#39; and &#39;d6_user&#39; migrations so we executed them first.&lt;br /&gt;
&lt;br /&gt;
You can also run complete migration by passing &#39;--all&#39; option to migrate-import drush command and this will take care of running the migrations in required order,&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
drush migrate-import --all&lt;/blockquote&gt;
&lt;br /&gt;
The D8 site has content and images both,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwAJ73FqAnjdT8GS91Lml0DlSa-Br7JVq-rhUVNxzqc5ac4L68VX2WCrJONNgHaMaaX2Ms_h_EQ25eBomx0r4q1E0PdKwYJqjYipH0UoLJEUSUDQfZbgWo9bWMNWxRa7s1hkM/s1600/d8_page_view.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwAJ73FqAnjdT8GS91Lml0DlSa-Br7JVq-rhUVNxzqc5ac4L68VX2WCrJONNgHaMaaX2Ms_h_EQ25eBomx0r4q1E0PdKwYJqjYipH0UoLJEUSUDQfZbgWo9bWMNWxRa7s1hkM/s640/d8_page_view.png&quot; width=&quot;496&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
The custom module is hosted on github - &lt;a href=&quot;https://github.com/amitgoyal/migrate_d6_image_custom&quot;&gt;https://github.com/amitgoyal/migrate_d6_image_custom&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
You can find more information on how to execute Drupal upgrade using Drush command here - &lt;a href=&quot;https://www.drupal.org/node/2350651&quot;&gt;https://www.drupal.org/node/2350651&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please feel free to let us know if there are better ways of doing it by adding your comments!&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.amitgoyal.in/feeds/4174945787750434261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/16340866/4174945787750434261' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/4174945787750434261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/4174945787750434261'/><link rel='alternate' type='text/html' href='http://www.amitgoyal.in/2016/03/d6-d8-migration-d6-image-d8-image.html' title='D6-D8 migration: Migration of Drupal 6 Images (Image module) to Drupal 8 Images'/><author><name>Amit Goyal</name><uri>http://www.blogger.com/profile/08660977858249306761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAtJ7kv42Etlm2ZROXsfmqrdclYgJAJPzhbIHncPJ3TIqq-ZheOjiUVGDokTGg4eqRWsEThQ06yZIEz-BhVQi2SHXO4AOcIaNscjiU3gauc3X332NTyqSiZ1l6ruIJ/s80/amit05.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidWO9b1IC7w2xpxPZi5w4LgUgTlQ3QX8vYu2dNWn2sJHdAhRoE4P9QrxSXiC8F2VumiZQ5bgl_yNSP1f-Yew0WVJbuktimCZL3xYHR3uAzY_Kl29OOxrMF2i7r2ekGeDBnESE/s72-c/d6_page_ct_image_settings.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16340866.post-7585736651984663637</id><published>2016-03-09T17:45:00.002+05:30</published><updated>2016-03-14T14:21:22.659+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="d6-d8 migration"/><category scheme="http://www.blogger.com/atom/ns#" term="image migration"/><category scheme="http://www.blogger.com/atom/ns#" term="imagefield migration"/><category scheme="http://www.blogger.com/atom/ns#" term="migration"/><title type='text'>D6-D8 migration: Migration of Drupal 6 Images (ImageField module) to Drupal 8 Images works out of the Box!</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
We are having a Drupal 6 site, which is using &lt;a href=&quot;https://www.drupal.org/project/imagefield&quot; target=&quot;_blank&quot;&gt;ImageField&lt;/a&gt; module, for adding images in content type. The content and images migration to Drupal 8 site works out of the box!!&lt;br /&gt;
&lt;br /&gt;
We carried out following steps to see it in action:&lt;br /&gt;
&lt;br /&gt;
1) In D6 site, we added Image field, as provided by ImageField module, in Page content type. We configured this field to have Alt/Title information along with Unlimited number of values.&lt;br /&gt;
&lt;br /&gt;
After adding the field, we created a Page content and uploaded multiple images in Image field along with Alt/Title info. D6 site with Page content looks like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwyqn1wFoR4q_W_lVpmZqKzwFXeBjKDyOQ7srq5ewv-Bj8t1QnER8TTqseBJE5f6lkMHxcvQxxhHXxbPvzddH164sTg6fe-r7T6hsq-9DM8k1AZmihvZjCl7fZcZxIm7SPb2E/s1600/d6_site_page_edit.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwyqn1wFoR4q_W_lVpmZqKzwFXeBjKDyOQ7srq5ewv-Bj8t1QnER8TTqseBJE5f6lkMHxcvQxxhHXxbPvzddH164sTg6fe-r7T6hsq-9DM8k1AZmihvZjCl7fZcZxIm7SPb2E/s640/d6_site_page_edit.png&quot; width=&quot;633&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
2) Next we installed D8 site with default settings. Afterwards we enabled &lt;a href=&quot;https://www.drupal.org/project/migrate_upgrade&quot; target=&quot;_blank&quot;&gt;Drupal Upgrade&lt;/a&gt; and &lt;a href=&quot;https://www.drupal.org/project/migrate_tools&quot; target=&quot;_blank&quot;&gt;Migrate Tools&lt;/a&gt; contrib modules to do the migration,&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
drush en migrate_upgrade migrate_tools -y&lt;/blockquote&gt;
3) Then we executed the migration using Drush. Either we can run the full migration like below,&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
drush migrate-import --all&lt;/blockquote&gt;
OR we can execute specific migrations for content and images like below,&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
drush migrate-import d6_field&lt;br /&gt;
drush migrate-import d6_field_instance&lt;br /&gt;
drush migrate-import d6_field_instance_widget_settings&lt;br /&gt;
drush migrate-import d6_field_formatter_settings&lt;br /&gt;
drush migrate-import d6_file&lt;br /&gt;
&lt;br /&gt;
drush migrate-import d6_filter_format&lt;br /&gt;
drush migrate-import d6_node_type&lt;br /&gt;
drush migrate-import d6_user_role&lt;br /&gt;
drush migrate-import d6_user&lt;br /&gt;
drush migrate-import d6_node__page&lt;/blockquote&gt;
&lt;br /&gt;
In both the cases, content and images of our Page content type gets migrated to D8 site and looks like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKPpsHM1eAbG3wMSu6vQMdrrpW-MjHx5IKL2Fk89jLtOU4Z28BXHgqmOXhFlRhWz1QLt9JO187CgPvJ9iVlDT1S5t_dnliRteQN9OfbUELv5Ap7bLnpCfLIC3Y7Xg_ld0jWZE/s1600/d8_site_page_edit.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKPpsHM1eAbG3wMSu6vQMdrrpW-MjHx5IKL2Fk89jLtOU4Z28BXHgqmOXhFlRhWz1QLt9JO187CgPvJ9iVlDT1S5t_dnliRteQN9OfbUELv5Ap7bLnpCfLIC3Y7Xg_ld0jWZE/s640/d8_site_page_edit.png&quot; width=&quot;385&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Note:&lt;/b&gt; After the migration, D8 Page content type didn&#39;t show Alt/Title information by default. We enabled both the Alt/Title fields under Image field in Page content type. The Alt/Title data was already gets migrated so we just enabled Alt/Title fields to display it.&lt;br /&gt;
&lt;br /&gt;
Secondly image thumbnails were not visible in the Edit screen above so we gave permissions to &#39;files&#39; folder and cleared the cache. And it worked fine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It&#39;s great that Images uploaded using ImageField module in D6 site gets migrated automatically in D8 site!!&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.amitgoyal.in/feeds/7585736651984663637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/16340866/7585736651984663637' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/7585736651984663637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/7585736651984663637'/><link rel='alternate' type='text/html' href='http://www.amitgoyal.in/2016/03/d6-d8-migration-imagefield-images.html' title='D6-D8 migration: Migration of Drupal 6 Images (ImageField module) to Drupal 8 Images works out of the Box!'/><author><name>Amit Goyal</name><uri>http://www.blogger.com/profile/08660977858249306761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAtJ7kv42Etlm2ZROXsfmqrdclYgJAJPzhbIHncPJ3TIqq-ZheOjiUVGDokTGg4eqRWsEThQ06yZIEz-BhVQi2SHXO4AOcIaNscjiU3gauc3X332NTyqSiZ1l6ruIJ/s80/amit05.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwyqn1wFoR4q_W_lVpmZqKzwFXeBjKDyOQ7srq5ewv-Bj8t1QnER8TTqseBJE5f6lkMHxcvQxxhHXxbPvzddH164sTg6fe-r7T6hsq-9DM8k1AZmihvZjCl7fZcZxIm7SPb2E/s72-c/d6_site_page_edit.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16340866.post-6881732977727079505</id><published>2016-03-08T16:56:00.003+05:30</published><updated>2016-03-14T14:22:47.545+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="d6-d8 migration"/><category scheme="http://www.blogger.com/atom/ns#" term="migration"/><category scheme="http://www.blogger.com/atom/ns#" term="paragraph type text migration"/><title type='text'>D6-D8 migration: How did we migrate Drupal 6 Body field to Drupal 8 Paragraph Type Text?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
We are working on Drupal 6 to Drupal 8 site migration. One of the requirement was to migrate a Body field of Page content type to Paragraph Type Text field in Page content type.&lt;br /&gt;
&lt;br /&gt;
We have used &lt;a href=&quot;https://www.drupal.org/project/paragraphs&quot; target=&quot;_blank&quot;&gt;Paragraphs&lt;/a&gt; module to setup Paragraph Type Text field in Page content type.&lt;br /&gt;
&lt;br /&gt;
Here is a step by step instructions to do the migration:&lt;br /&gt;
&lt;br /&gt;
1) Firstly we enabled following contributed modules,&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
drush en migrate_upgrade migrate_tools -y&lt;br /&gt;
drush en paragraphs entity_reference_revisions -y&lt;/blockquote&gt;
2) We setup the Text Paragraphs type at /admin/structure/paragraphs_type/ and added one Textarea field at /admin/structure/types/manage/page/fields.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5AY2QDS2sX8ulJDzW0MHpTd6aJiUqZsrMipbS1O_7Ano3W-xZQQ0wQ9D9AzKrD2P096h8LF-DmSkDQC2wyykI6sjvQk_l-6YW99cEhssFAD4uoN6L-9IwAiZSXIBCNDU6Uzw/s1600/d8_paragraph_type.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;155&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5AY2QDS2sX8ulJDzW0MHpTd6aJiUqZsrMipbS1O_7Ano3W-xZQQ0wQ9D9AzKrD2P096h8LF-DmSkDQC2wyykI6sjvQk_l-6YW99cEhssFAD4uoN6L-9IwAiZSXIBCNDU6Uzw/s640/d8_paragraph_type.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEpI79QVvGfNLLnSXcJrzj1XDgYQsqvXgCRLwaJgl6UtIQqh0mWaaz0_PM-kF5eHQ6mzbZRy3eCLQ6OqGIFsG92bDdyyiuIN5LIA1AdmXzC4vOxr3UQAby3_UdfYKsEe6UHPE/s1600/d8_paragraph_type_field_textarea.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;160&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEpI79QVvGfNLLnSXcJrzj1XDgYQsqvXgCRLwaJgl6UtIQqh0mWaaz0_PM-kF5eHQ6mzbZRy3eCLQ6OqGIFsG92bDdyyiuIN5LIA1AdmXzC4vOxr3UQAby3_UdfYKsEe6UHPE/s640/d8_paragraph_type_field_textarea.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
3) We added the Paragraph type text field in Page content type,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGQ3wFdS1zKu8QLa2LW_v2jArksRWMUCdOwJx7e-ug7NF2X0TnmUf0xFeLjHOX902my9osKyN0FcexnWhNWa4kFNXO2DGpCHIQY7lCvXhnNbYmbKw9blB0rN-iFiwb6UGQo74/s1600/d8_page_ct.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;136&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGQ3wFdS1zKu8QLa2LW_v2jArksRWMUCdOwJx7e-ug7NF2X0TnmUf0xFeLjHOX902my9osKyN0FcexnWhNWa4kFNXO2DGpCHIQY7lCvXhnNbYmbKw9blB0rN-iFiwb6UGQo74/s640/d8_page_ct.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
4) This was optional step. We specified $config_directories variable in settings.php,&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
$config_directories[&#39;sync&#39;] = &#39;config&#39;;&lt;/blockquote&gt;
5) To generate the migrations for our site, we passed --configure-only option to migrate-upgrade drush command. As it indicates, our D6 site is hosted at http://d6.local:8083 and database name is d6.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
drush migrate-upgrade --configure-only --legacy-db-url=mysql://drupaluser:@127.0.0.1:33067/d6 --legacy-root=http://d6.local:8083&lt;/blockquote&gt;
6) To export the generated migrations in above step to &#39;config&#39; folder on file system,&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
drush config-export&lt;/blockquote&gt;
7) We created one custom module with following files/folders,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2evCiKJIXQneDZVlZ9BWSgFSjtkyAxhZ7LCZkLV90V_QM6MJKTeVShnAcuphi5EqDb7WPSwRpV3yBiWLw7zqJPo_WyQvpz0MQ1Y2e8P5f3U_uBTq6QFH60w8CsfCYwu5kYCU/s1600/d8_custom_module.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;169&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2evCiKJIXQneDZVlZ9BWSgFSjtkyAxhZ7LCZkLV90V_QM6MJKTeVShnAcuphi5EqDb7WPSwRpV3yBiWLw7zqJPo_WyQvpz0MQ1Y2e8P5f3U_uBTq6QFH60w8CsfCYwu5kYCU/s320/d8_custom_module.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8) We copied config/migrate.migration.d6_node__page.yml, it was created by &#39;drush config-export&#39; command above, to config/install folder,&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
cp config/migrate.migration.d6_node__page.yml modules/custom/migrate_d6_custom/config/install/migrate.migration.d6_node__page_custom.yml&lt;/blockquote&gt;
and the .yml file looks like below,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNMoDQqJvfT9gstGLAZoDxXT3xzNdASBmUVSzERum2DZxxAaVdv7Gb8Xb9aW2dTcYYwQOGgPrpnza-OQr-JJIBbTWmz5BKrPMhmP5VAW3DY5b-mSUQR7JO68EwTnwKveO6b3U/s1600/d8_custom_module_yml.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNMoDQqJvfT9gstGLAZoDxXT3xzNdASBmUVSzERum2DZxxAaVdv7Gb8Xb9aW2dTcYYwQOGgPrpnza-OQr-JJIBbTWmz5BKrPMhmP5VAW3DY5b-mSUQR7JO68EwTnwKveO6b3U/s640/d8_custom_module_yml.png&quot; width=&quot;374&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Mainly we changed the &#39;id&#39;, commented out &#39;uuid&#39; and &#39;body&#39; field, added our paragraph type field from page content type with process plugin. Initially we kept &#39;body&#39; field uncommented for testing purposes.&lt;br /&gt;
&lt;br /&gt;
9) The code in process plugin, NodeParagraphTextarea.php, looks like below,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSx-TTPNl1JNeej8y97fS5ejSWzkY3FVqIVv6DvNHXC_tpmNIIosabNznfNaAbMj56dKwf-PJBXCzgF9-jym_ZE-wcbdDU_GztM-FfAC3rcXY_w9XtixZm7-Tm0agyS4VJxYc/s1600/d8_custom_module_plugin.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;554&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSx-TTPNl1JNeej8y97fS5ejSWzkY3FVqIVv6DvNHXC_tpmNIIosabNznfNaAbMj56dKwf-PJBXCzgF9-jym_ZE-wcbdDU_GztM-FfAC3rcXY_w9XtixZm7-Tm0agyS4VJxYc/s640/d8_custom_module_plugin.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Basically we are creating Paragraph type Text entity if it doesn&#39;t exist, otherwise we are updating it. We are also taking into account if we will add more Paragraph types in the field_page_paragraph field.&lt;br /&gt;
&lt;br /&gt;
10) Finally we enabled our custom module and executed the migration,&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
drush en migrate_d6_custom -y&lt;br /&gt;
&lt;br /&gt;
drush migrate-import d6_filter_format&lt;br /&gt;
drush migrate-import d6_node_type&lt;br /&gt;
drush migrate-import d6_user_role&lt;br /&gt;
drush migrate-import d6_user&lt;br /&gt;
drush migrate-import d6_node__page_custom&lt;/blockquote&gt;
&lt;br /&gt;
Page migration depends upon &#39;d6_filter_format&#39;, &#39;d6_node_type&#39;, &#39;d6_user_role&#39; and &#39;d6_user&#39; migrations so we executed them first.&lt;br /&gt;
&lt;br /&gt;
You can also run complete migration by passing &#39;--all&#39; option to migrate-import drush command,&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
drush migrate-import --all&lt;/blockquote&gt;
&lt;br /&gt;
&lt;br /&gt;
The D6 site looks like,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJiBKerkmaDno8BGA-jQonGSbcXUGo1T4bb3zQbChoziHWBOx7f24yCXU47SEsAz0blXf02IglbP3MM_zHk3TrgZlhWYuIA4_orQEJkYP00CD8PxRtA60I3GJuYc278TRClMU/s1600/d6_site_text.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;280&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJiBKerkmaDno8BGA-jQonGSbcXUGo1T4bb3zQbChoziHWBOx7f24yCXU47SEsAz0blXf02IglbP3MM_zHk3TrgZlhWYuIA4_orQEJkYP00CD8PxRtA60I3GJuYc278TRClMU/s640/d6_site_text.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The D8 site looks like,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjznlAwL0nnGCEZluiZkjsNwGb0yODczA1bPz2V-OOp6J1sb3VZdKG0GsGXr4k9CJMdIoGyKcyBZ6Yd5LSi_UItxFScglZITT2mu3nS2zU61fsGZh0aCy3hdWP2VX2h2lmIB4w/s1600/d8_site_text.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;336&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjznlAwL0nnGCEZluiZkjsNwGb0yODczA1bPz2V-OOp6J1sb3VZdKG0GsGXr4k9CJMdIoGyKcyBZ6Yd5LSi_UItxFScglZITT2mu3nS2zU61fsGZh0aCy3hdWP2VX2h2lmIB4w/s640/d8_site_text.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
We can hide &#39;Paragraph Textarea&#39; label from Manage Display settings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The custom module is hosted on github - &lt;a href=&quot;https://github.com/amitgoyal/migrate_d6_custom&quot;&gt;https://github.com/amitgoyal/migrate_d6_custom&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
More information on executing Drupal upgrade using Drush command - &lt;a href=&quot;https://www.drupal.org/node/2350651&quot;&gt;https://www.drupal.org/node/2350651&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.amitgoyal.in/feeds/6881732977727079505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/16340866/6881732977727079505' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/6881732977727079505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/6881732977727079505'/><link rel='alternate' type='text/html' href='http://www.amitgoyal.in/2016/03/d6-d8-migration-d6-body-d8-paragraph-type-text.html' title='D6-D8 migration: How did we migrate Drupal 6 Body field to Drupal 8 Paragraph Type Text?'/><author><name>Amit Goyal</name><uri>http://www.blogger.com/profile/08660977858249306761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAtJ7kv42Etlm2ZROXsfmqrdclYgJAJPzhbIHncPJ3TIqq-ZheOjiUVGDokTGg4eqRWsEThQ06yZIEz-BhVQi2SHXO4AOcIaNscjiU3gauc3X332NTyqSiZ1l6ruIJ/s80/amit05.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5AY2QDS2sX8ulJDzW0MHpTd6aJiUqZsrMipbS1O_7Ano3W-xZQQ0wQ9D9AzKrD2P096h8LF-DmSkDQC2wyykI6sjvQk_l-6YW99cEhssFAD4uoN6L-9IwAiZSXIBCNDU6Uzw/s72-c/d8_paragraph_type.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16340866.post-1869365205701862918</id><published>2016-02-12T17:13:00.000+05:30</published><updated>2016-03-14T14:24:37.407+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Acquia"/><category scheme="http://www.blogger.com/atom/ns#" term="Certification"/><category scheme="http://www.blogger.com/atom/ns#" term="drupal"/><category scheme="http://www.blogger.com/atom/ns#" term="Frontend exam"/><title type='text'> How did I prepare for Acquia Certified Developer - Front End Specialist Exam </title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
In Dec 2015, I have cleared &lt;a href=&quot;https://www.acquia.com/customer-success/learning-services/acquia-certified-developer-front-end-specialist-exam-blueprint&quot; target=&quot;_blank&quot;&gt;Acquia Certified Developer - Front End Specialist&lt;/a&gt; exam. Your real life experience, with Drupal, definitely comes handy while taking the exam.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcGPxTQdwi_yN5qNBF224Yv8ziAEe5AWvn3sRJgcKNpXWOCszG0dPOw66ul8V3V41li7c-NQxAJwKEWE5UzKtCvw6lIU8UHApGH2nlOWFIUAg0TsWq-qU7PJzhhZmZyHrVvbY/s1600/ACDFES_2015badge.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;310&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcGPxTQdwi_yN5qNBF224Yv8ziAEe5AWvn3sRJgcKNpXWOCszG0dPOw66ul8V3V41li7c-NQxAJwKEWE5UzKtCvw6lIU8UHApGH2nlOWFIUAg0TsWq-qU7PJzhhZmZyHrVvbY/s320/ACDFES_2015badge.png&quot; width=&quot;320&quot; /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
To prepare for this exam, I have gone through following video series on &lt;a href=&quot;http://drupalize.me/&quot;&gt;http://drupalize.me&lt;/a&gt;,&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://drupalize.me/series/theming-basics-drupal-7-series&quot;&gt;Theming Basics for Drupal 7 Series&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://drupalize.me/series/advanced-theming-drupal-7-series&quot;&gt;Advanced Theming for Drupal 7 Series&lt;/a&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://drupalize.me/videos/theming-views&quot;&gt;Theming Views&lt;/a&gt; &lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
This series will cover most of the things (Domain 2.0: Theming Concepts, Domain 3.0: Sub-theming Concepts, Domain 4.0: Templates, Domain 5.0: Template Functions, Domain 6.0: Layout Configuration, Domain 7.0: Performance, Domain 8.0: Security) mentioned in the Exam Blueprint.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Note: If you don&#39;t have access to Video series then you may like to go through most of the links in the &lt;a href=&quot;http://themery.com/dgd7&quot; target=&quot;_blank&quot;&gt;themery guide&lt;/a&gt;&lt;a href=&quot;https://www.blogger.com/null&quot; target=&quot;_blank&quot;&gt;. &lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
With the basic knowledge of &lt;a href=&quot;http://websitesetup.org/html5-beginners-guide/&quot; target=&quot;_blank&quot;&gt;HTML&lt;/a&gt;, &lt;a href=&quot;http://www.w3schools.com/cssref/css_selectors.asp&quot; target=&quot;_blank&quot;&gt;CSS&lt;/a&gt; and &lt;a href=&quot;https://www.drupal.org/node/304258&quot; target=&quot;_blank&quot;&gt;Javascript/jQuery&lt;/a&gt;
 and hands on experience in building few sites with Drupal7 including 
custom theme (templates not css) development, you would be able to clear the exam. Good 
luck!&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span class=&quot;video-duration&quot;&gt;&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.amitgoyal.in/feeds/1869365205701862918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/16340866/1869365205701862918' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/1869365205701862918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/1869365205701862918'/><link rel='alternate' type='text/html' href='http://www.amitgoyal.in/2016/02/how-did-i-prepare-for-acquia-certified-frontend-exam.html' title=' How did I prepare for Acquia Certified Developer - Front End Specialist Exam '/><author><name>Amit Goyal</name><uri>http://www.blogger.com/profile/08660977858249306761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAtJ7kv42Etlm2ZROXsfmqrdclYgJAJPzhbIHncPJ3TIqq-ZheOjiUVGDokTGg4eqRWsEThQ06yZIEz-BhVQi2SHXO4AOcIaNscjiU3gauc3X332NTyqSiZ1l6ruIJ/s80/amit05.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcGPxTQdwi_yN5qNBF224Yv8ziAEe5AWvn3sRJgcKNpXWOCszG0dPOw66ul8V3V41li7c-NQxAJwKEWE5UzKtCvw6lIU8UHApGH2nlOWFIUAg0TsWq-qU7PJzhhZmZyHrVvbY/s72-c/ACDFES_2015badge.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16340866.post-5042228931244367462</id><published>2016-02-04T12:53:00.000+05:30</published><updated>2016-02-04T13:00:17.762+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Acquia"/><category scheme="http://www.blogger.com/atom/ns#" term="Backend exam"/><category scheme="http://www.blogger.com/atom/ns#" term="Certification"/><category scheme="http://www.blogger.com/atom/ns#" term="drupal"/><title type='text'>How did I prepare for Acquia Certified Developer - Back End Specialist Exam</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Recently I have cleared &lt;a href=&quot;https://www.acquia.com/customer-success/learning-services/acquia-certified-developer-back-end-specialist-exam-blueprint&quot; target=&quot;_blank&quot;&gt;Acquia Certified Developer - Back End Specialist&lt;/a&gt; exam. Your real life experience, with Drupal, definitely comes handy while taking the exam.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTH0SzrULP3hagONeRBos_4N6pQd7eHB_cxzcWldWkEe73HM4isK2m3k8S1G-vHmOnnjYqzPzzR0w2S3yWP09rhr0RHux0mcIJeoVNlB6OamzVx_wNSr9orRarjgMvtonVr90/s1600/CertifiedDeveloperBackEndSpecialist.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTH0SzrULP3hagONeRBos_4N6pQd7eHB_cxzcWldWkEe73HM4isK2m3k8S1G-vHmOnnjYqzPzzR0w2S3yWP09rhr0RHux0mcIJeoVNlB6OamzVx_wNSr9orRarjgMvtonVr90/s320/CertifiedDeveloperBackEndSpecialist.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
To prepare for this exam, I have gone through following video series on drupalize.me,&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://drupalize.me/videos/introduction-module-development-drupal-7?p=1145&quot; target=&quot;_blank&quot;&gt;Module Development for Drupal 7&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
This series will cover most of the things (Domain 2.0: Drupal core API, Domain 3.0: Database Abstraction Layer, Domain 4.0: Debug code and troubleshooting, Domain 5.0: Theme Integration, Domain 6.0: Performance, Domain 7.0: Security) mentioned in the Exam Blueprint.&lt;br /&gt;
&lt;br /&gt;
Note: If you don&#39;t have access to Video series then you may like to go through most of the chapters in the book &lt;a href=&quot;https://www.safaribooksonline.com/library/view/pro-drupal-7/9781430228387/&quot; target=&quot;_blank&quot;&gt;Pro Drupal 7 Development, Third Edition.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are following things which are not part of the above video series,&lt;br /&gt;
&lt;br /&gt;
2.1 Demonstrate an ability to register paths to define how URL requests are handled in Drupal using &lt;a href=&quot;https://api.drupal.org/api/drupal/modules!system!system.api.php/function/hook_menu_alter/7&quot; target=&quot;_blank&quot;&gt;hook_menu_alter&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
2.3 Demonstrate ability to interact with the Node system using &lt;a href=&quot;https://api.drupal.org/api/drupal/modules!node!node.api.php/group/node_api_hooks/7&quot; target=&quot;_blank&quot;&gt;hook_node_*&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
2.4 Demonstrate ability to interact with the Block system using &lt;a href=&quot;https://api.drupal.org/api/drupal/modules!block!block.api.php/7&quot; target=&quot;_blank&quot;&gt;hook_block_*&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
2.5 Demonstrate ability to use Core System hooks like &lt;a href=&quot;https://api.drupal.org/api/drupal/modules!system!system.api.php/function/hook_boot/7&quot; target=&quot;_blank&quot;&gt;hook_boot&lt;/a&gt;, &lt;a href=&quot;https://api.drupal.org/api/drupal/modules!system!system.api.php/function/hook_init/7&quot; target=&quot;_blank&quot;&gt;hook_init&lt;/a&gt;, &lt;a href=&quot;https://api.drupal.org/api/drupal/modules!system!system.api.php/function/hook_cron/7&quot; target=&quot;_blank&quot;&gt;hook_cron&lt;/a&gt;, &lt;a href=&quot;https://api.drupal.org/api/drupal/modules!system!system.api.php/function/hook_mail/7&quot; target=&quot;_blank&quot;&gt;hook_mail&lt;/a&gt;, &lt;a href=&quot;https://api.drupal.org/api/drupal/modules!system!system.api.php/7&quot; target=&quot;_blank&quot;&gt;hook_file*&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
To cover up the section Domain 8.0: Community, I have &lt;a href=&quot;https://www.drupal.org/u/amitgoyal&quot; target=&quot;_blank&quot;&gt;contributed&lt;/a&gt; few modules to Drupal community. To get started with contribution to Drupal Community, you can go through this &lt;a href=&quot;https://www.drupal.org/novice&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
With the basic knowledge of &lt;a href=&quot;http://websitesetup.org/html5-beginners-guide/&quot; target=&quot;_blank&quot;&gt;HTML&lt;/a&gt;, &lt;a href=&quot;http://www.w3schools.com/cssref/css_selectors.asp&quot; target=&quot;_blank&quot;&gt;CSS&lt;/a&gt; and &lt;a href=&quot;https://www.drupal.org/node/304258&quot; target=&quot;_blank&quot;&gt;Javascript/jQuery&lt;/a&gt; and hands on experience in building few sites with Drupal7 including custom module development, you would be able to clear the exam. Good luck!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.amitgoyal.in/feeds/5042228931244367462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/16340866/5042228931244367462' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/5042228931244367462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/5042228931244367462'/><link rel='alternate' type='text/html' href='http://www.amitgoyal.in/2016/02/how-did-i-prepare-for-acquia-certified-backend-exam.html' title='How did I prepare for Acquia Certified Developer - Back End Specialist Exam'/><author><name>Amit Goyal</name><uri>http://www.blogger.com/profile/08660977858249306761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAtJ7kv42Etlm2ZROXsfmqrdclYgJAJPzhbIHncPJ3TIqq-ZheOjiUVGDokTGg4eqRWsEThQ06yZIEz-BhVQi2SHXO4AOcIaNscjiU3gauc3X332NTyqSiZ1l6ruIJ/s80/amit05.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTH0SzrULP3hagONeRBos_4N6pQd7eHB_cxzcWldWkEe73HM4isK2m3k8S1G-vHmOnnjYqzPzzR0w2S3yWP09rhr0RHux0mcIJeoVNlB6OamzVx_wNSr9orRarjgMvtonVr90/s72-c/CertifiedDeveloperBackEndSpecialist.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16340866.post-2193193631018690690</id><published>2016-02-01T13:10:00.000+05:30</published><updated>2016-03-14T14:25:49.501+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Acquia"/><category scheme="http://www.blogger.com/atom/ns#" term="Certification"/><category scheme="http://www.blogger.com/atom/ns#" term="drupal"/><category scheme="http://www.blogger.com/atom/ns#" term="Site builder exam"/><title type='text'>How did I prepare for Acquia Certified Drupal Site Builder</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Recently I have cleared &lt;a href=&quot;https://www.acquia.com/customer-success/learning-services/acquia-certified-drupal-site-builder-exam-blueprint&quot; target=&quot;_blank&quot;&gt;Acquia Certified Drupal Site Builder&lt;/a&gt; exam. Your real life experience, with Drupal, definitely comes handy while taking the exam.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCxDuXNGRNQVCybFXwjbEQR7JudSmfYGYyaQaHhQJy6PzffdQ_wKpmsBvmziy0mMGhXITUiUZfFOffiCMdEXlrZ9kNFiSDtaW9_63TOcuqpHGQjKdNcbhyWW1lolMFcLIezMk/s1600/CertifiedDeveloperDrupalSiteBuilder2016.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCxDuXNGRNQVCybFXwjbEQR7JudSmfYGYyaQaHhQJy6PzffdQ_wKpmsBvmziy0mMGhXITUiUZfFOffiCMdEXlrZ9kNFiSDtaW9_63TOcuqpHGQjKdNcbhyWW1lolMFcLIezMk/s320/CertifiedDeveloperDrupalSiteBuilder2016.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
I am a big fan of Drupal learning video sites specially https://drupalize.me and http://buildamodule.com/. Luckily I got free access to these sites as my company has subscription to these sites.&lt;br /&gt;
&lt;br /&gt;
To prepare for this exam, I saw following video series on drupalize.me,&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://drupalize.me/videos/introduction-site-building-drupal-7?p=1153&quot; target=&quot;_blank&quot;&gt;Site Building with Drupal 7 Series&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://drupalize.me/videos/introduction-fields-site-builders?p=1166&quot; target=&quot;_blank&quot;&gt;Intro to Fields for Site Builders Series&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://drupalize.me/videos/overview-views?p=1144&quot; target=&quot;_blank&quot;&gt;Intro to Views for Drupal 7 Series&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://drupalize.me/videos/using-image-styles-node-display?p=1150&quot; target=&quot;_blank&quot;&gt;Image Styles Series&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
These video series will cover most of the things. If you don&#39;t have access to these sites then you can go through &lt;a href=&quot;http://www.tanay.co.in/blog/cracking-acquia-certified-drupal-site-builder-certification.html&quot; target=&quot;_blank&quot;&gt;Tanay&#39;s blog post&lt;/a&gt; which says that you can install &lt;a href=&quot;https://www.drupal.org/project/admin_menu&quot; target=&quot;_blank&quot;&gt;Administration menu module&lt;/a&gt; on Drupal 7 site and go through each and every link to learn more about it.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://www.drupal.org/files/images/Administration-menu.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;163&quot; src=&quot;https://www.drupal.org/files/images/Administration-menu.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hands on experience is very important so make sure to build couple of sites using Drupal core + Views modules without writing any custom code. Good luck!&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.amitgoyal.in/feeds/2193193631018690690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/16340866/2193193631018690690' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/2193193631018690690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/2193193631018690690'/><link rel='alternate' type='text/html' href='http://www.amitgoyal.in/2016/02/how-did-i-prepare-for-acquia-certified.html' title='How did I prepare for Acquia Certified Drupal Site Builder'/><author><name>Amit Goyal</name><uri>http://www.blogger.com/profile/08660977858249306761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAtJ7kv42Etlm2ZROXsfmqrdclYgJAJPzhbIHncPJ3TIqq-ZheOjiUVGDokTGg4eqRWsEThQ06yZIEz-BhVQi2SHXO4AOcIaNscjiU3gauc3X332NTyqSiZ1l6ruIJ/s80/amit05.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCxDuXNGRNQVCybFXwjbEQR7JudSmfYGYyaQaHhQJy6PzffdQ_wKpmsBvmziy0mMGhXITUiUZfFOffiCMdEXlrZ9kNFiSDtaW9_63TOcuqpHGQjKdNcbhyWW1lolMFcLIezMk/s72-c/CertifiedDeveloperDrupalSiteBuilder2016.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16340866.post-8491870165720861451</id><published>2016-01-21T14:44:00.002+05:30</published><updated>2016-01-21T14:49:16.993+05:30</updated><title type='text'>Amit Goyal listed as Acquia Core Contributors on dev.acquia.com</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAf_uTvdXYzdn06kI6qCbRaJZ0c0BIyGkcDDqUrN15zW2r4nGmsQvSaAXFlB5aaYAjH0uqFDhfXX17z5feG0SB9Fntr6nTQ6uy42R-tTzLVKdGtMA1trNZQRpg-ESJ6ZdCkjE/s1600/acquia_developer_center.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;328&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAf_uTvdXYzdn06kI6qCbRaJZ0c0BIyGkcDDqUrN15zW2r4nGmsQvSaAXFlB5aaYAjH0uqFDhfXX17z5feG0SB9Fntr6nTQ6uy42R-tTzLVKdGtMA1trNZQRpg-ESJ6ZdCkjE/s640/acquia_developer_center.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
It&#39;s been proud moment for me as I have been listed on &lt;a href=&quot;https://dev.acquia.com/&quot;&gt;https://dev.acquia.com/&lt;/a&gt; as Acquia Core Contributors along with fellow Acquains!! Here is link to my profile &lt;a href=&quot;https://dev.acquia.com/author/amit-goyal&quot;&gt;https://dev.acquia.com/author/amit-goyal&lt;/a&gt; on Acquia Developer Center.&lt;br /&gt;
&lt;br /&gt;
As of today, I have contributed in &lt;a href=&quot;http://drupalcores.com/#amitgoyal&quot; target=&quot;_blank&quot;&gt;75+&lt;/a&gt; Drupal 8 core issues and in the list of top 100 contributors in the world.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.amitgoyal.in/feeds/8491870165720861451/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/16340866/8491870165720861451' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/8491870165720861451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/8491870165720861451'/><link rel='alternate' type='text/html' href='http://www.amitgoyal.in/2016/01/amit-goyal-listed-as-acquia-core.html' title='Amit Goyal listed as Acquia Core Contributors on dev.acquia.com'/><author><name>Amit Goyal</name><uri>http://www.blogger.com/profile/08660977858249306761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAtJ7kv42Etlm2ZROXsfmqrdclYgJAJPzhbIHncPJ3TIqq-ZheOjiUVGDokTGg4eqRWsEThQ06yZIEz-BhVQi2SHXO4AOcIaNscjiU3gauc3X332NTyqSiZ1l6ruIJ/s80/amit05.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAf_uTvdXYzdn06kI6qCbRaJZ0c0BIyGkcDDqUrN15zW2r4nGmsQvSaAXFlB5aaYAjH0uqFDhfXX17z5feG0SB9Fntr6nTQ6uy42R-tTzLVKdGtMA1trNZQRpg-ESJ6ZdCkjE/s72-c/acquia_developer_center.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16340866.post-4673288337275972329</id><published>2014-11-13T13:55:00.003+05:30</published><updated>2014-11-13T13:55:43.392+05:30</updated><title type='text'>Steps to setup non-Drupal Site on Mac with Acquia Dev Desktop 2</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
I use &lt;a href=&quot;https://docs.acquia.com/dev-desktop2&quot; target=&quot;_blank&quot;&gt;Acquia Dev Desktop 2&lt;/a&gt; on my Mac for all Drupal related sites. It&amp;nbsp;allows you to create Drupal sites locally on your Mac or Windows PC and if needed, publish, develop, and synchronize your local Drupal sites on the Web using &lt;a href=&quot;https://www.acquia.com/products-services/acquia-cloud&quot; target=&quot;_blank&quot;&gt;Acquia Cloud&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Recently I started working on migrating a non-Drupal site to D8 so I needed to set up that non-Drupal site on my local system. I started wondering how I can do this as http://localhost or http://local:8083 was not returning any page. This happens because all the Drupal sites were set up using Dev Desktop 2 and it creates a virtual host like http://d8.local:8083 for each of the site.&lt;br /&gt;
&lt;br /&gt;
Here is how I got a non-Drupal site running:&lt;br /&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
1) Make an entry in /etc/hosts file&amp;nbsp;&lt;/h4&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
A line like the one below allows you to access your site by the domain name &quot;sitename.local&quot;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
127.0.0.1 &amp;nbsp; &amp;nbsp; &amp;nbsp; sitename.local&lt;/blockquote&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
2) Add a &lt;a href=&quot;http://httpd.apache.org/docs/2.2/vhosts/&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;virtualhost&lt;/span&gt; &lt;/a&gt;entry for the site&lt;/h4&gt;
I looked at&amp;nbsp;/Applications/DevDesktop/apache/conf/vhosts.conf file but it says&lt;br /&gt;
&quot;#!!!!!! PLEASE DO NOT EDIT THIS FILE, IT IS AUTOGENERATED BY ACQUIA DEV DESKTOP !!!!!!&quot;.&lt;br /&gt;
So I created a new /Applications/DevDesktop/apache/conf/sites.conf and specified the vhost entry there. It was quite similar to one of the vhost entries in vhosts.conf file. E.g.,&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;ServerName sitename.local&lt;br /&gt;
&amp;nbsp; DocumentRoot &quot;/Users/amit.goyal/Sites/devdesktop/sitefolder&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;IfModule fcgid_module&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FcgidInitialEnv PHPRC &quot;/Applications/DevDesktop/php5_5/bin&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FcgidWrapper &quot;\&quot;/Applications/DevDesktop/php5_5/bin/php-cgi\&quot;&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;Directory &quot;/Users/amit.goyal/Sites/devdesktop/sitefolder&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Options Indexes FollowSymLinks ExecCGI&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AllowOverride All&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Require local&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
3) Tell Apache about the new sites.conf file&lt;/h4&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Add a new line at the end of httpd.conf:&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Include conf/sites.conf&lt;/blockquote&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
4) Restart the Apache web server&lt;/h4&gt;
You can do this from the Dev Desktop user interface.&lt;br /&gt;
&lt;br /&gt;
You can now access your new site at http://sitename.local:8083.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Although most of these steps are specific to Mac, the same can be applied to Windows&amp;nbsp;with Acquia Dev Desktop. You just need to look for &quot;hosts&quot; and &quot;httpd.conf&quot; files.&lt;br /&gt;
&lt;br /&gt;
You may refer to this &lt;a href=&quot;https://forums.acquia.com/acquia-products-and-services/dev-desktop/where-put-non-drupal-files-be-served-dev-desktop-2&quot; target=&quot;_blank&quot;&gt;forum post&lt;/a&gt; for more information.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.amitgoyal.in/feeds/4673288337275972329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/16340866/4673288337275972329' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/4673288337275972329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/4673288337275972329'/><link rel='alternate' type='text/html' href='http://www.amitgoyal.in/2014/11/steps-to-setup-non-drupal-site-on-mac.html' title='Steps to setup non-Drupal Site on Mac with Acquia Dev Desktop 2'/><author><name>Amit Goyal</name><uri>http://www.blogger.com/profile/08660977858249306761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAtJ7kv42Etlm2ZROXsfmqrdclYgJAJPzhbIHncPJ3TIqq-ZheOjiUVGDokTGg4eqRWsEThQ06yZIEz-BhVQi2SHXO4AOcIaNscjiU3gauc3X332NTyqSiZ1l6ruIJ/s80/amit05.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16340866.post-8986846303157050758</id><published>2014-05-14T12:26:00.000+05:30</published><updated>2014-05-14T12:26:37.208+05:30</updated><title type='text'>Proud Member of Drupal Association</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Feeling proud to be part of Drupal Association!&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://association.drupal.org/files/Drupal_Association_ind_member_304.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://association.drupal.org/files/Drupal_Association_ind_member_304.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;a href=&quot;https://drupal.org/user/56441&quot; target=&quot;_blank&quot;&gt;amitgoyal&lt;/a&gt; -&amp;nbsp;https://drupal.org/user/56441&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.amitgoyal.in/feeds/8986846303157050758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/16340866/8986846303157050758' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/8986846303157050758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/8986846303157050758'/><link rel='alternate' type='text/html' href='http://www.amitgoyal.in/2014/05/proud-member-of-drupal-association.html' title='Proud Member of Drupal Association'/><author><name>Amit Goyal</name><uri>http://www.blogger.com/profile/08660977858249306761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAtJ7kv42Etlm2ZROXsfmqrdclYgJAJPzhbIHncPJ3TIqq-ZheOjiUVGDokTGg4eqRWsEThQ06yZIEz-BhVQi2SHXO4AOcIaNscjiU3gauc3X332NTyqSiZ1l6ruIJ/s80/amit05.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16340866.post-5860224446499106082</id><published>2014-02-18T17:07:00.000+05:30</published><updated>2014-02-18T17:09:24.371+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="drupal"/><category scheme="http://www.blogger.com/atom/ns#" term="high performance"/><category scheme="http://www.blogger.com/atom/ns#" term="performance optimization"/><category scheme="http://www.blogger.com/atom/ns#" term="scalability"/><title type='text'>High Performance Drupal - Book</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Recently I got a chance to read &quot;&lt;a href=&quot;http://shop.oreilly.com/product/0636920012269.do&quot; target=&quot;_blank&quot;&gt;High Performance Drupal&lt;/a&gt;&quot; book. It&#39;s been one of the great books I have ever read on Drupal. A must read for anybody who is working with Drupal and want to know about performance optimization.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://akamaicovers.oreilly.com/images/0636920012269/lrg.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://akamaicovers.oreilly.com/images/0636920012269/lrg.jpg&quot; height=&quot;400&quot; width=&quot;303&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Some of the things you will learn from the book,&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Establish a performance baseline and define goals for improvement&lt;/li&gt;
&lt;li&gt;Optimize your website’s code and front-end performance&lt;/li&gt;
&lt;li&gt;Get best and worst practices for customizing Drupal core functionality&lt;/li&gt;
&lt;li&gt;Apply infrastructure design techniques to launch or expand a site&lt;/li&gt;
&lt;li&gt;Use tools to configure, monitor, and optimize MySQL performance&lt;/li&gt;
&lt;li&gt;Employ alternative storage and backend search options as your site grows&lt;/li&gt;
&lt;li&gt;Tune your web servers through httpd and PHP configuration&lt;/li&gt;
&lt;li&gt;Monitor services and perform load tests to catch problems before they become critical&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.amitgoyal.in/feeds/5860224446499106082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/16340866/5860224446499106082' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/5860224446499106082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/5860224446499106082'/><link rel='alternate' type='text/html' href='http://www.amitgoyal.in/2014/02/high-performance-drupal-book.html' title='High Performance Drupal - Book'/><author><name>Amit Goyal</name><uri>http://www.blogger.com/profile/08660977858249306761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAtJ7kv42Etlm2ZROXsfmqrdclYgJAJPzhbIHncPJ3TIqq-ZheOjiUVGDokTGg4eqRWsEThQ06yZIEz-BhVQi2SHXO4AOcIaNscjiU3gauc3X332NTyqSiZ1l6ruIJ/s80/amit05.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16340866.post-2586148862440641924</id><published>2014-01-16T16:23:00.000+05:30</published><updated>2014-01-16T16:23:05.680+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Front End"/><category scheme="http://www.blogger.com/atom/ns#" term="Performance"/><category scheme="http://www.blogger.com/atom/ns#" term="SPOF"/><title type='text'>Single Points of Failure - SPOFs</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Sometimes we include the 3rd party JavaScript files in our site like below,&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;lt;script src=&quot;http://example.com/js/file.js&quot; type=&quot;text/javascript&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/blockquote&gt;
&lt;br /&gt;
which causes browser to load it synchronously. Browsers block all rendering of the page until the file has finished downloading. In case, an external service is down or having performance issues, this may cause a script included on our page to take longer than usual to load, or fail to load altogether.&lt;br /&gt;
&lt;br /&gt;
This can cause performance issues on our site although this is not directly related to the performance of our site.&lt;br /&gt;
&lt;br /&gt;
To avoid this, we need to audit our sites for SPOFs and &lt;a href=&quot;https://chrome.google.com/webstore/detail/spof-o-matic/plikhggfbplemddobondkeogomgoodeg&quot; target=&quot;_blank&quot;&gt;SPOF-O-Matic&lt;/a&gt; is great browser plug-in for this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://raw.github.com/pmeenan/spof-o-matic/master/resources/ss-blocked.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;250&quot; src=&quot;https://raw.github.com/pmeenan/spof-o-matic/master/resources/ss-blocked.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
It flags likely single points of failure and can simulate complete failure for any&lt;br /&gt;
external script it finds on your pages.&lt;br /&gt;
&lt;br /&gt;
Many popular services now provide asynchronous snippets that will not block page rendering; this is usually achieved by providing inline JavaScript, which then dynamically creates a script tag so that the JavaScript is loaded asynchronously.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.amitgoyal.in/feeds/2586148862440641924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/16340866/2586148862440641924' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/2586148862440641924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/2586148862440641924'/><link rel='alternate' type='text/html' href='http://www.amitgoyal.in/2014/01/single-points-of-failure-spofs.html' title='Single Points of Failure - SPOFs'/><author><name>Amit Goyal</name><uri>http://www.blogger.com/profile/08660977858249306761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAtJ7kv42Etlm2ZROXsfmqrdclYgJAJPzhbIHncPJ3TIqq-ZheOjiUVGDokTGg4eqRWsEThQ06yZIEz-BhVQi2SHXO4AOcIaNscjiU3gauc3X332NTyqSiZ1l6ruIJ/s80/amit05.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16340866.post-4040311751922035587</id><published>2014-01-16T12:34:00.000+05:30</published><updated>2014-01-16T12:38:58.940+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="drupal"/><category scheme="http://www.blogger.com/atom/ns#" term="multisite"/><title type='text'>Drupal 7 Multi Sites Configuration - Book</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Recently I got the chance to read &lt;a href=&quot;http://www.packtpub.com/drupal-7-multi-sites-configuration/book&quot; target=&quot;_blank&quot;&gt;Drupal 7 Multi Sites Configuration&lt;/a&gt; book. It&#39;s been quite a good book for those who are not aware of &lt;a href=&quot;https://drupal.org/documentation/install/multi-site&quot; target=&quot;_blank&quot;&gt;Drupal&#39;s multi site&lt;/a&gt; feature.&lt;br /&gt;
&lt;br /&gt;
Drupal 7 Multi-Sites Configuration will teach you how to host several 
websites on a single copy of Drupal. You will learn how to create 
different sites, each with its own domain, content, and theme. This 
valuable information will help you to save time by managing modules and 
sharing them across several sites as well as administering your sites 
all in one place.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.packtpub.com/sites/default/files/8000OS_%20Drupal%20Multi%20Sites%20Configuration.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.packtpub.com/sites/default/files/8000OS_%20Drupal%20Multi%20Sites%20Configuration.jpg&quot; height=&quot;320&quot; width=&quot;251&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
I liked Advanced Multi-sites chapter and learned some new things there. It talks about ways to implement shared authentication, shared content, shared structure and searching across multi-sites.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.amitgoyal.in/feeds/4040311751922035587/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/16340866/4040311751922035587' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/4040311751922035587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16340866/posts/default/4040311751922035587'/><link rel='alternate' type='text/html' href='http://www.amitgoyal.in/2014/01/drupal-7-multi-sites-configuration-book.html' title='Drupal 7 Multi Sites Configuration - Book'/><author><name>Amit Goyal</name><uri>http://www.blogger.com/profile/08660977858249306761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAtJ7kv42Etlm2ZROXsfmqrdclYgJAJPzhbIHncPJ3TIqq-ZheOjiUVGDokTGg4eqRWsEThQ06yZIEz-BhVQi2SHXO4AOcIaNscjiU3gauc3X332NTyqSiZ1l6ruIJ/s80/amit05.jpg'/></author><thr:total>0</thr:total></entry></feed>