I have been exploring Drupal over the last couple months in spare moments, trying to figure out what it is and what it can do. Now I am getting busy again, and I don’t know if I’ll ever get back to exploring Drupal, so I thought I would share what I was able to figure out so far.
I first discovered Drupal sandboxes at Pantheon.io, a hosting company for Drupal and WordPress sites. The sandbox sites allowed me to try out basic features of Drupal http://dev-ykfp-drupal-demo.pantheonsite.io/ and even had tools to import a WordPress version of ykfp.org to a Drupal site http://dev-ykfp-migration-sandbox.pantheonsite.io/ . Hosting here costs $100/mo to $400/mo depending on size, to give an idea what it costs for this full featured hosting. https://pantheon.io/pricing For comparison, at Dreamhost, our hosting for ykfp.org costs $10/mo. plus $5/mo. for a unique IP address. But we are not planning on hosting our Drupal site at a hosting company.
Next I found a series of beginner videos on YouTube that got me started with Aquia Dev Desktop based Drupal 8. https://www.youtube.com/watch?v=-DYSucV1_9w&list=PLtaXuX0nEZk9MKY_ClWcPkGtOEGyLTyCO Dev Desktop makes it easy to install Drupal sites on your local PC for testing. This was a good way to have total access to the Drupal file structure. I worked my way through the 63 videos, and learned how to create content types, content, install modules, a bit about views, themes, books, etc.
When I searched through all the available modules, I was surprised that there doesn’t seem to be anything that helps you read data in from a MySQL or SQL table and present it in a nice graph or table. The Drupal community seemed mystified by this approach. https://www.drupal.org/node/2859010 (I post as MajorGeek) I found and installed the one module that I could find that mentioned MySQL, but all it did was connect to my external MySQL database, and report a successful connection. Not very useful.
There are some modules that do attractive charts, like Easychart, https://www.drupal.org/project/easychart but it seems like they all take input from CSV, or other flat file formats. To get from a SQL query to a CSV, you would be stuck with developing a custom module with php.
There seems to be a cultural blind spot in Drupal for this kind of extension to access data from SQL queries. You can easily do this in Joomla https://extensions.joomla.org/extensions/extension/core-enhancements/data-reports/vchart/ . You can do this in WordPress: https://wordpress.org/plugins/sql-chart-builder/ .
So I started looking into custom modules. There is a tutorial on installing a simple “Hello World” custom module at https://www.drupal.org/docs/8/creating-custom-modules/a-hello-world-custom-page-module that worked for me on my local Drupal site. Taking what I learned in this tutorial, I thought I would try the same procedure with a short piece of my php code that would just pull a few lines of data from one of my MySQL dam count databases, and write them on the screen. I couldn’t get it to work at all. All I could get was an unhelpful “Access denied”. Suggestions from the Drupal community were not helpful, and, in some cases misleading. https://www.drupal.org/node/2899787 Minh Phan at QW thought my spacing in my routing.yml file might be off. However, I followed the spacing from the Hello Word example carefully. I also tried a couple other spacing standards and still got the same error.
I found that Drupal takes a lot of resources and execution time. It just about wouldn’t run of my local PC running Windows 10 64 bit, 4 GB RAM, and i3-6100 3.7 GHz. I would get a lot of time out errors, especially on startup. I had to increase the processing time limit by editing the php.ini file, but still sometimes hit errors. I hope YN IT has allocated an adequate server for running our Drupal site.
I also found that required updates for Drupal come up often. Updating my local sites manually was a bit complicated (https://www.drupal.org/docs/8/update/update-procedure-in-drupal-8). Even after backing up my databases and site, running manual update, having problems with the update, reverting to my old version of the database and site files, and trying again, eventually I’d get my restores out of sync, and I’d lose the whole site. This has happened to me three times. https://www.drupal.org/node/2907651 I hope YN IT has more experience with Drupal site management than I do, because this is tricky to keep up with the new releases required for site security. Pantheon had some great tools for Drupal site management that made upgrading the Drupal version a one button affair. Acquia also has some tools to back up a whole site and database which I should try before attempting an upgrade.