Drupal 8 Migrate API File to Media Entites - drupal

I'm trying to perform a migration of Drupal 7 files into Drupal 8 Media entity via Migrate API.
Is there a practical guide how to perform such types of migrations?
Very much appreciated.

As of this writing, the core built-in migration support for Media is still in the work.
However, there are several contrib modules could help you with the migration.
Migrate File Entities to Media Entities
Media migration

Yes, The core feature for migrate API is still in the process. https://www.drupal.org/project/drupal/issues/2835825
However there is a drupal contrib module which you can use.
https://www.drupal.org/project/migrate_file_to_media

Related

Migrating structure and content between instances in Drupal 9

I'm very new to Drupal, so please don't be too mad in case I have any major misunderstandings :) I've tried searching for a similar problem, but is just couldn't find a suitable solution for my case.
We're currently setting up a Drupal 9 project, which will perspectively have a shared development environment and a production environment as well as a local instance to develop on. I'd wish to have a way to synchronize those instances to have the same configuration, content types and optionally even content.
At the moment, I'm developing a theme locally, which means I have installed a Drupal instance inside a XAMPP server. That theme is versioned by git, so it is migratable to another developer without a problem.
For migrating the structure and content (which is obviously saved in the database), I tried using Backup & Migrate, but there were two issues I was facing: The D9 version is not fully supported yet, so an installation via composer fails with default security settings, and there seems to be an already multiple times reported bug when trying to backup the entire site. You can workaround it by backing up the database and the files separately, but this is pretty inconvenient due to other issues (but let's keep it a little short...).
I also tried to export the whole database, which is actually working (after this little fix), but the overhead seems a little high for me. Especially when I just want to copy new content types from dev to prod environment without users, content and so on, for instance.
So, to finally come to an end, is there any best practice for this case? Or should I even consider to go a whole other way?
Thanks in advance!
I definitely wouldn't recommend using Backup & Migrate for this - that's so Drupal 7! Drupal 9 has better tools that are baked into core!
There are many possible ways to import/export Config and Content entities across environments, but I'll share what I believe to be the current best practices.
For Configuration, Drupal 9 has a built-in Configuration Management system that makes it quite easy to migrate Config across environments. It can be used within the Drupal UI, and also integrates with Drush (a command-line tool for Drupal).
Essentially, the Config system exports all Config settings as standardized YAML files, which can easily be included in your Git repository. This will make it incredibly easy to set up another Drupal environment that is identical in its Config settings.
More info on Configuration Management can be found here.
For Content, Drupal 9 has a built-in Migrate API, which facilitates migrations from any data source into a Drupal 9 environment. That means you could set up a migration that would allow you to migrate your Content entities across environments.
I've only ever used this for migrating Content (migrated from Drupal 7), but I believe it's also possible to use this to migrate Config as well.
If you decide to use the Migrate API, you may (depending on the setup of your content) need to install Migrate Tools and Migrate Plus.
More info on the Migrate API can be found here.

Which are limits of Community version of the eZ Publish CMS?

I am currently looking for informations about eZ Publish Community version and its limits to develop a public portal.
Furthermore:
Can I use Oracle database? Should I prefer ezoracle to any Symfony extension?
Can I integrate an antivirus solution? If yes which one?
Can I use 2 different instances, one to write and export contents, and another one to import and update contents?
Which newsletter system do you suggest?
Is back-end IE8 and IE9 compatible?
Can I (de)activate contact forms on demand?
Can I integrate a more powerful anti-spam solution than visual CAPTCHA? (ex: reCAPTCHA)
Can the webmaster modify layout elements, such as logos, bannes, aso.
Thank you for your help!
Latest community version is using Doctrine DBAL (through new stack) which supports Oracle. But so far there is no information that someone tried it as the Doctrine support is quite new. ezoracle extension is a legacy extension which might be used but not if new stack is being utilised.
Anti-virus solutions are not something that makes sense to integrate with CMS-es. Those are either client software (CMS runs on web servers) or server side software which is installed on the web server and monitors uploaded files.
You probably describe a content staging kind of setup for which there is no out-of-the-box solution. But the CMS is quite flexible and some solution could be possible to develop.
Solid and integrated one is the cjw_newsletter, but its legacy based. There is nothing similar in the new stack, there might be some Symfony based bundles that could be integrated but would require some development effort. Depends on the integration needed. If not much integration is needed external services are an option
Legacy admin interface is, for the new editor UI which is under development at the moment I am not sure what will be the oldest IE supported. IE8 probably not, maybe just with graceful degradation.
If you mean legacy collected info based forms yes. You can hide the node of the forms for example. In new stack there are no similar implementation yet.
Yes, although it would probably require some web development knowledge. If you use legacy collected info forms you can try to install some of the existing legacy extension that deal with that (e.g. http://projects.ez.no/recaptcha) but to do it in new stack (Symfony based) you will probably need to dig deeper with Symfony Forms and custom controllers or find and integrate bundles that implement this
This depends on how the front-end is implemented. If done properly it should be possible, yes
For more detailed help feel free to use the community forum: http://share.ez.no/forums/ez-publish-5-platform

Using CMS on Mongo Database

I am planning to use MongoDB for building a CMS application. The two choice for CMS platforms being Joomla and Drupal. while Drupal seems to have http://drupal.org/project/mongodb support. I was not able to find good support for Joomla. Can anyone share your experience/thoughts of using Joomla on MongoDB ?
For Joomla have a look at:
Joomla and Mongodb (a bit old)
sml4joomla libraries

Does Drupal 7 have a better way of managing development changes than Drupal 6?

So one hassle of Drupal 6 is that it's tough to move changes from a development server to a test or staging server to a production server.
Has this been made easier in Drupal 7? Is there some coding conventions module developers are suppose to follow now. So a developer can easily separate content and configuration and only move configuration between dev, test, and prod?
Is the recommended advice to still use the Features module?
To the best of my knowledge, there are no additional features in Drupal 7 that specifically address the deployment issues. Features will probably continue to be the best solution to that set of issues, for some time. However, some of the new features in Drupal 7 such as entities and fields in core may make it easier, when creating a module, to expose its configuration data to Features.

Which CMS uses an ORM (Object-relational mapping)

If you're aware of a CMS that uses an ORM (either their own or one of the well-known ones), please list the CMS here with the name of the ORM it uses.
If you know that the CMS you use DOESN'T use ORM, please also say so.
Django-CMS which is Python-based uses an ORM. It uses an ORM because it's based on the excellent Django framework which uses ORM (cf. Wikipedia).
This Wiki page lists many PHP-based systems that use ORM. But most of them are frameworks (not CMSs). For example, the CakePHP framework and the Symfony framework which uses Doctrine ORM.
To find CMSs that use ORM, you may want to look for a CMS built with those frameworks that use ORM. Wildflower CMS is build on CakePHP, and there's a bunch of CMSs built on Symfony.
I know that neither Drupal nor Wordpress use ORM. Drupal 6 has it's own database abstraction layer, which is switching to PDO with D7, but it's still not ORM. Both WP and Drupal are built procedurally, and presumably an application should be built on an object oriented paradigm to take advantage of ORM.
Specially in PHP
ORM based cms, i cant remember. i have been working in php and working on various cms. But have not found popular ORM based cms.
I think reason is simple
ORM have extra learning curve, one cms become popular if it have less learning curve. Though many popular cms maintain security but same time they avoid using new things.
WIKI
http://en.wikipedia.org/wiki/List_of_content_management_systems#PHP
modx revolution uses xPDO
xPDO provides raw data access using
native PDO8 extensions when
available, falling back to a PDO
emulation framework that works all the
way back to PHP 4.3.x. It provides a
very lightweight O/RM
(object-relational mapping) layer with
access performance similar to using
the current MODx DB API. With native
PDO performance naturally improving
upon that (it's a compiled PHP
extension written in C), the choice of
using PDO as the exclusive database
abstraction layer, turned out better
than I ever imagined.
Webnodes CMS is based on an in-house developed ORM, with native support for CMS features like revisions, languages etc.
It is very fast, and has an intelligent and automatic cache.
It also excels at handling relations between objects, so you can basically model any type of data with the solution, so you can use it for any type of web application, not just publishing pages.
See more at the Webnodes website.
Disclosure: I work at Webnodes.
Silverstripe supports ORM with CMS
All Django based CMSs use an ORM cos Django uses it's own ORM.
The following are major Django based CMSs.
Django CMS Official Website
Wagtail CMS Official Website
Mezzanine CMS official website
Django CMS seems to be the most popular of these three.
Wagtail follows a Lego block approach.
Here is a comparision of the three CMSs https://www.youtube.com/watch?v=3UC1MNFOjEI

Resources