Weekend story....Drupal 8

Primary tabs

Error message

Notice: Undefined index: localized_options in menu_navigation_links() (line 1872 of /home2/seaminhh/public_html/includes/menu.inc).

Drupal 8: First Experience…
Today I checked and see that Drupal 8 has been launched as productive version for some time- the latest version is 8.01… It's not soon, not late to make a try so that some day I can bring my drupal 7 to 8.

I can easily get the Drupal 8 package quickly through my company office's Vietel fiber cable in nearly in seconds if not minutes. No problem in downloading these days….

When I extract it into my web folder of my Linux Mint 17 and do all the necessary configuration for Apache web server, I started the installing by typing the local adress (localhost) into the browser. The installing process promptly started, and completed in minutes. During this process, several trouble encountered, such as a absence of a neccessary file (settings.php), and unwritable folder (/files/default) that required some extra execution of granting the correct permission.

A problem took me considerable time to correct in my local web server: the clean URLs. Drupal site has a special page to guide on this matter at this link: https://www.drupal.org/getting-started/clean-urls. I checked this carefully, but for drupal 8, it says simply that this property is enabled automatically when you install Drupal. This means you don't have any thing to do, it's been solved  for you already! Actually, when you installing Drupal 8, it checks if all conditions of the web server are met, and it lists all problems it founded. You have to correct these problems before you can install, esp. to critical problem. For the minor error such as the one I saw is the clean URLs of  my server is not enabled. It was not so critical so I could proceed on installing till the end. However when finished and the home page appeared, I found that I could not open any page. When clicked a menu, it just said that the link cannot be found, something like this,

Not Found
The requested URL /user/login was not found on this server.

This happens to any menu item I saw, so the site is useless due to the clean URLs problem. But what's the clean URLs? It explains that for the normal install for Drupal earlier versions, the adress of every page is represent by certain symbols such as “/?=user”. The clean URLs is enable the site to look for the correct path without using these symbols, so that you can see the adress of the site in the browser like this, yoursite.com/user. In Drupal 7, you can use both form: if you do not enable Clean URLs, you will see the full address (with these symbols), but if you enable the function, you do not see it in the address.

To find what's the problem, I have to return to the clean URLs topic in order to enable it for my server. There are several ways: you can add some command into the Apache configuration file, or run some commands in the terminal to add it etc. Through trials and errors I finally can enable it, and can run Drupal 8! There's is one very important module for clean URLs to work, this is the rewrite modle, and you can check and if it has not been enabled, you must enable it. See this link https://www.drupal.org/getting-started/clean-urls#dedicated.

Multi-language site
Now multi-language site is nearly a must for most of business. You have to make you known not only to your home clients, but for foreigners too. That means that you should have at least one more common and popular language install, so that people around the world know what service you supply, what product you sell, or what personality you are on this planet (for personal website)!

My Drupal 8 site can run, how can I add another language so that a language can be selected by visitor at his will? I checked all the menu in administration interface, however I cannot find a link to this topic. A menu call Regional and Language seemed relating to what I looked for, but a closely look made me disappointed.

So I had to search to know how to set up a multi-language site in Drupal 8. Some idea came at this link https://www.drupal.org/documentation/multilingual, and from this page, I followed the link to Drupal 8 Multi-lingual component. Here it says,

Unlike previous versions of Drupal, most of the functionality that you need to build a multi-lingual site is provided by these 4 Core modules, rather than a suite of many contributed modules. To enable these modules, you'll need to go to the "Extend" administration page

Look into Extend I can find the 4 components as said above. These are Configuration Translation, Content Translation, Interface Translation and Language all are not enabled, waiting for me to check and enable them.

After enabling them, I returned to where I think they will appear: the Regional and Language menu in Configuration menu. When I switched there, I see they are all there!

Still some more work that takes me to look for. That's the language switcher. Through some guides searched on the internet, I can find the the needed info here, and followed it to enable the swithcher.

So my multi-lingual site set up is now basically completed.  If you have ever built such a site in Drupal 7, the tasks for a multi-lingual site are more complicated. Drupal 8 puts all those hard works into the core for a multi-lingual site, but not show it openly for you when you first install the site. After some researches, you can build a multi-lingual site very easily.

Bring my Drupal 7 to Drupal 8??

Now all I need are ready then how can i bring my Drupal 7 site into Drupal 8?

After some searchings and readings, I have to say this seems there is no optimistical way for a quick upgrade by available tools! Here's a blog to analyze the do's and don't of an upgrade if you are considering now.

I myself checked the built-in migration features in the Extend menu, under Core (Experimental). There are two component for the migration: the Migrate and Migrate Drupal. After activated these two components, I could not see any change! You have to install a module from Drupal site, the Drupal Ungrade. After install and activate it, under this module you will see a Configuration icon, and can follow this to do any upgrade.  When I tried this for my current Drupal 7 site, it found that there were only 18 available uprade paths while there were up to 65 missing upgrade paths!

As explained in the above blog, the differences in the core of Drupal 7 and 8 are too many, and this makes the upgrading complecated. Here are some listed in this blog,
- drupal 8 programming switches to Object Oriented Programming by using what we call Symfony components, a frame-work developed by SensioLab,
- The use of new default template engine (Twig with Drupal 8)
-  Inline content editing is possible by using the Spark project.
- New menu system, a “responsive, extensible and more concise”, and depending to the actual devices, it can be optimized device's space usage by display icons instead of text menu, also a product of Spark Project...
and many other new features, makes it the most complicatedly changed version that you cannot easily see if look at it simple interface!

So now I'd better play with my Drupal 8 only, and waiting some more time before deciding to upgrade my web site!