{"id":3810,"date":"2019-05-29T23:25:40","date_gmt":"2019-05-29T23:25:40","guid":{"rendered":"http:\/\/myramidnight.com\/?p=3810"},"modified":"2021-04-25T22:10:40","modified_gmt":"2021-04-25T22:10:40","slug":"recap-and-first-impressions-of-drupal8","status":"publish","type":"post","link":"https:\/\/myramidnight.com\/journal\/?p=3810","title":{"rendered":"First impressions of Drupal8"},"content":{"rendered":"\n<p>I did take down some notes when I was given an awesome introduction to Drupal8, though we weren't actually doing anything at the time, so this is somewhat of a recap of what was talked about and see if it will stick.<\/p>\n<p>Keep in mind this is the first time I actually use Drupal, I wrote down some notes during the introduction\/lecture which I'm kind of reciting here but will of course not include anything here unless I've tried it out before publishing this post.<\/p>\n\n\n\n<h3>Installing with Composer<\/h3>\n\n\n\n<p>I covered this in <a href=\"http:\/\/myramidnight.com\/2019\/05\/3788\/\">my previous post<\/a>, my experience of setting up a drupal project for the first time. Since Drupal had a big makeover so it would use the Symfony framework instead of it's own custom framework, which spells a bright future for the platform and easier to handle for developers (it lowers the threshold\/entry level considerably I was told).<\/p>\n\n\n\n<p>When finalizing the setup in browser after having installed the system, you get choices of what kind of installation you want. <\/p>\n\n\n\n<ul><li><strong>Standard <\/strong>is very convenient for starting a project<\/li><li><strong>Minimal <\/strong>is stripped of everything except the core modules (even the default theme looks like they forgot to link the stylesheet)<\/li><li><strong>Demo <\/strong>is an example of using drupal to make a website for a recipe magazine.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/cdn.discordapp.com\/attachments\/582960967537917963\/583320834446458880\/unknown.png\" alt=\"\"\/><\/figure>\n\n\n\n<h3>Folder structure<\/h3>\n\n\n\n<ul><li> <code>\/web<\/code> contains accessible files, config goes into <code>.gitignore<\/code> by default along with the '<em>modules<\/em>'. You would work in this folder and run the PHP server from here.<\/li><li> <code>\/vendor<\/code> contains packages and everything that doesn't really involve the developer directly, just like the <code>node_packages<\/code> in javascript. <\/li><\/ul>\n\n\n\n<h3>The Drupal8 GUI<\/h3>\n\n\n\n<p>You can actually manage your installation completely through the <em>Graphical User Interface<\/em> instead of the terminal, which I actually prefer.\u00a0<\/p>\n<p>The admin section is located at <code>\/admin<\/code> from the root in browser, so you can find it regardless of theme or setup.<\/p>\n\n\n\n<ul><li><strong>Content<\/strong>: the basic add content to the website (uses existing content-types)<\/li><li><strong>Structure<\/strong>: for the developer to create content types and structure the website. The information architecture.<ul><li><strong>Content types<\/strong>: such as article, basic pages, you can create new content types to suit your needs, such as art piece, recipe, game feature, or anything depending on the project.<\/li><li><strong>Taxonomy<\/strong>: tags, categories...<\/li><li><strong>Views<\/strong>: database query builder, how will the user see the requested content (can be pages or blocks).<\/li><li>The <code>ds<\/code> (<a href=\"https:\/\/www.drupal.org\/project\/ds\">display suite<\/a>) module provides multiple new ways to view your content, such as full, card, teaser and more.<\/li><li> The <code><a href=\"https:\/\/www.drupal.org\/project\/paragraphs\">paragraphs<\/a><\/code> module is very handy, it is a site builder with content blocks. <\/li><\/ul><\/li><li><strong>Appearance<\/strong>: the theme of the website<ul><li>Drupal uses something called 'twig' templates.<\/li><li>There are sites like <a href=\"https:\/\/www.templatemonster.com\/drupal-themes.php\">templatemonster<\/a> that sell themes.<\/li><\/ul><\/li><li><strong>Extend<\/strong>: the modules<ul><li>Since drupal stays clean of unnecessary modules, you will  need to fetch anything that you would like to add. No clutter of unused modules unless you installed them yourself.<\/li><li>The <code><a href=\"https:\/\/www.drupal.org\/project\/module_filter\">module_filter<\/a><\/code> is recommended, it makes it easier to sort through what you've added\/installed<\/li><li>The <code><a href=\"https:\/\/www.drupal.org\/project\/admin_toolbar\/issues\/2897309\">admin_toolbar_tools<\/a><\/code> is almost a necessity for administrative convenience. It includes the <code><a href=\"https:\/\/www.drupal.org\/project\/admin_toolbar\">admin_toolbar<\/a><\/code>. <\/li><\/ul><\/li><li><strong>People<\/strong>: Users and roles<\/li><\/ul>\n\n\n\n<h2>The Modules<\/h2>\n\n\n\n<p>If you've tried managing a WordPress installation, then these equal plugins within the drupal setup. And drupal installations stay very vanilla and do not include anything but the bare basics. If you need something then you can most likely find <a href=\"https:\/\/www.drupal.org\/project\/project_module\">existing modules<\/a> in the drupal database.<\/p>\n\n\n\n<p>Drupal does not include a admin console straight out of the box, that's why we'll use <code>admin_toolbar_tools<\/code> as an example for installing a module. It will give you a admin toolbar (as the name suggests) at the top and some other tools, generally makes the site easier to manage.<\/p>\n\n\n\n<h4>adding modules via command line<\/h4>\n\n\n\n<p>You can <a href=\"https:\/\/www.drupal.org\/docs\/8\/extending-drupal-8\/installing-modules-from-the-command-line\">use command line to manage the modules<\/a> and there are a few ways to do it. Drupal8 seems to include the <a href=\"http:\/\/www.drush.org\/\">drush<\/a> shell to manage the installation via command line, there is also the <a href=\"https:\/\/drupalconsole.com\/\">Drupal Console<\/a> available which was recommended to me. <\/p>\n\n\n\n<p>You can even use <code>composer<\/code> to fetch the module files for you (it does not install them automatically) which is handy if you already used it to install drupal8. Here is an example of adding a module using composer:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">composer require drupal\/admin_toolbar_tools<\/pre>\n\n\n\n<h4>adding\/installing modules via GUI<\/h4>\n\n\n\n<p>It is nice to use the GUI to install the modules and manage them, doesn't matter if you added the modules via terminal or uploaded the zip with the GUI.\u00a0<\/p>\n<p>When I had the minimal setup and tried to install the admin_toolbar_tools, it told me that it needed to install other required modules and I could simply say continue with the action (and it would install the required) or cancel.<\/p>\n\n\n\n<h2>Conclusion...<\/h2>\n\n\n\n<p>Since I have never tried any versions of drupal prior to version 8, I don't see what's so difficult about using this CMS and perhaps that is the reward for that complete overhaul of the system to use symfony instead of it's own custom framework.<\/p>\n<p>I shall continue playing with this, the project I am working on will have a forum and news\/blog for a small community. I will need to dabble with creating a theme as well.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I did take down some notes when I was given an awesome introduction to Drupal8, though we weren&#8217;t actually doing anything at the time, so this is somewhat of a recap of what was talked about and see if it will stick. Keep in mind this is the first time I actually use Drupal, I &hellip; <a href=\"https:\/\/myramidnight.com\/journal\/?p=3810\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">First impressions of Drupal8<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[178],"tags":[],"_links":{"self":[{"href":"https:\/\/myramidnight.com\/journal\/index.php?rest_route=\/wp\/v2\/posts\/3810"}],"collection":[{"href":"https:\/\/myramidnight.com\/journal\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/myramidnight.com\/journal\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/myramidnight.com\/journal\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/myramidnight.com\/journal\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3810"}],"version-history":[{"count":10,"href":"https:\/\/myramidnight.com\/journal\/index.php?rest_route=\/wp\/v2\/posts\/3810\/revisions"}],"predecessor-version":[{"id":3821,"href":"https:\/\/myramidnight.com\/journal\/index.php?rest_route=\/wp\/v2\/posts\/3810\/revisions\/3821"}],"wp:attachment":[{"href":"https:\/\/myramidnight.com\/journal\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3810"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/myramidnight.com\/journal\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3810"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/myramidnight.com\/journal\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3810"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}