yakamara / yconverter Goto Github PK
View Code? Open in Web Editor NEW👨🏻🍳 YConverter - REDAXO Addon
👨🏻🍳 YConverter - REDAXO Addon
Damit könnte man sich den Weg via Adminer sparen.
Bei der Addoninstallation sollten die Mindestbedingungen abgefragt werden.
Aktuell benötigt es scheinbar PHP 5.4. Wollen wir das ändern, sodass es auf mehr Installation läuft? Also auf PHP 5.3?
Ab welcher Redaxo-Version funktioniert es?
Nur mit UTF-8, oder?
Wenn man cat-Metainfos verwendet, werden diese zwar in der rex_article-Tabelle übertragen, jedoch scheint es zu Problemen bei der metainfo-Feld-Tabelle zu kommen. Ein Metainfo-Feld lässt sich dann nicht mehr erstellen, weil es ja bereits in der rex_article-Datenbanktabelle ist.
siehe #52
Hier müsste jetzt stehen: REDAXO5-Addon, das REDAXO4-Daten importiert.
Und in der README.md sollte aktualisiert werden - das Vorgehen bezieht sich ja noch auf R4.
#34
textile-Funktion in $textile = markitup::parseOutput ('textile', "REX_VALUE[5]");
Die Felder value1-20, link1-10, linklist1-10 dürfen NULL sein sind sie aber nicht. Interessanterweise werden die Felder media1-10 und medialist1-10 umgestellt und dürfen NULL sein.
Infos
Hi Thomas,
die Addon-Idee von dir ist super! Da will ich gerne helfen. Wenn ich deinen Code anschaue brauchst du noch ein SQL Skript zum konvertieren der Datenbank. Here it is:
https://www.dropbox.com/s/e5k0ccd01sqa3ra/update4_7_to_5_2.sql?dl=0
Liebe Grüße,
Tobi
Fuß wurde zu Fuooslm oder so :D
Konnte es jedoch problemlos umbenennen.
Ich muss ehrlich gestehen, ich hab jetzt überhaupt keine Ahnung ob diese Fehlermeldung irgendjemandem hilft. Ich teste grade diese neueste Version des yconverter, der eigentlich ysuperconverter oder ysupermegaconverter heißen müsste.
Die Tabellen hat es einwandfrei übernommen und konvertiert. Beim letzten Button "Call callbacks." kommt dieser Ooooops:
Error thrown with message "Method name must be a string"
Stacktrace:
#12 Error in C:\www\kunde123\redaxo\src\addons\yconverter\lib\YConverter\Modifier.php:174
#11 YConverter\Modifier:callCallbacks in C:\www\kunde123\redaxo\src\addons\yconverter\lib\YConverter\YConverter.php:60
#10 YConverter\YConverter:callCallbacks in C:\www\kunde123\redaxo\src\addons\yconverter\pages\convert.redaxo.php:25
#9 include in C:\www\kunde123\redaxo\src\core\lib\packages\package.php:228
#8 rex_package:includeFile in C:\www\kunde123\redaxo\src\core\lib\be\controller.php:474
#7 rex_be_controller:includePath in C:\www\kunde123\redaxo\src\core\lib\be\controller.php:430
#6 rex_be_controller:includeCurrentPageSubPath in C:\www\kunde123\redaxo\src\addons\yconverter\pages\index.php:16
#5 include in C:\www\kunde123\redaxo\src\core\lib\packages\package.php:228
#4 rex_package:includeFile in C:\www\kunde123\redaxo\src\core\lib\be\controller.php:474
#3 rex_be_controller:includePath in C:\www\kunde123\redaxo\src\core\lib\be\controller.php:413
#2 rex_be_controller:includeCurrentPage in C:\www\kunde123\redaxo\src\core\backend.php:215
#1 require in C:\www\kunde123\redaxo\src\core\boot.php:135
#0 require in C:\www\kunde123\redaxo\index.php:9
Ich weiß allerdings auch nicht so genau was da passieren soll.
Das Ausgangssystem läuft unter Redaxo v. 4.6.2 mit dem Version Addon v 0.2
Die Slides der Liverversionen sind in der richtigen Reihenfolge. Aber die Arbeitsversionen sind durcheinander.
Ich habe mir die entstandene yconverter_rex_article_slice Tabelle angeschaut und wenn ich nach revision und dann priority sortiere sehe ich, daß die priority für die Live Artikel von 1 bis 17 ansteigt. Danach kommen die Werte für die Arbeitsversions-Slices nicht mehr aufsteigend:
priority
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <- letzte Live-Slice
0 <- erster Arbeits-Slice
6
10
14
19
105
124
4723
6567
7320
7366
8158
8159
8160
8161
8162
10170
OOCategory wird im Template nicht ersetzt. Beispiel aus meinem Template:
foreach (OOCategory::getRootCategories(true) as $lev1) {
Hier wurde OOCategory nicht ersetzt, obwohl in Zeile 108 von Converter.php aufgelistet.
evtl. könnte man in der tabelle 'rex_metainfo_type' die 'label' die auf '_BUTTON' enden automatisch auf '_WIDGET' geändert werden.
ich hab die gerade mit exportiert und mich gewundert, das in den metadaten der artikel diese felder fehlen.
new sql()
wird nicht in rex_sql::factory();
übersetzt.
Ist das Addon mittlerweile, wenn auch mit Vorsicht zu genießen, bereit für den Installer? Werden die Änderungen an der aktiven Datenbank vorgenommen oder könnte man nicht auch dafür eine Zieldatenbank angeben?
getFiles() wird nicht umbenannt
yconverter sollte beim konvertieren rex_file
in yconverter_rex_media
umbennenen, statt in yconverter_rex_file
kwT
$textile = markitup::parseOutput ('textile', "REX_VALUE[5]");
OOMedia::getMediaByFilename();
in rex_media::get();
Error while executing statement "SELECT * FROM rex_article WHERE id=1 AND clang_id=1"! SQLSTATE[42S22]: Column not found: 1054 Unknown column 'clang_id' in 'where clause'
Fehler in der SQL-Abfrage (1054): Unknown column 'a356_is_online' in 'field list'
Nach dem Durchlauf von yconverter fehlt der Tabelle rex_media der AUTO_INCREMENT Wert. Es kann nur ein Medium in den Medienpool hinzugefügt werden. Dieser hat den ID-Wert '0'. Beim hinzufügen des zweiten Mediums kommt der Insert Fehler. Lösungs-SQL:
ALTER TABLE
rex_mediaCHANGE
id
id INT(11) NOT NULL AUTO_INCREMENT;
Memo aus Slack: Wenn eine lang_textarea
auf YForm für R5 vorbereitet wird, sollte der Inhalt in verschiedene Felder gesplittet werden. Als Suffix dann _clangid
.
(PR kommt keiner von mir, weil ich es selbst auch noch gar nicht benutzt habe - aber ich nehm das als Wunsch/Idee hier mal auf)
Wenn diese bereits in sha1 vorliegen am Beispiel von Passwort test123
<?= rex_login::passwordHash("07b074b64dcdbcd037bed158228dfa36dcf462ba", true); ?>
(getestet)
<?= rex_login::passwordHash("test123", false); ?>
(ungetestet)
In Modulen und Templates könnte noch folgender Strings ersetzt werden:
'rex_img_type' => 'rex_media_type',
'rex_img_file' => 'rex_media_file'
Beispiel neuer img tag:
<img src="index.php?rex_media_type=meinType&rex_media_file=meinBild.jpg" alt="">
Außerdem für YForm Module kann folgende Ersatzung automatisiert vorgenommen werden:
'db2email' =>'tpl2email'
Hatte heute den Fall, dass der Entwickler auf short_open_tags gesetzt hat. Viele Server sind jedoch heute so konfiguriert, dass diese nicht mehr aktiviert sind. Auch wird hier davon abgeraten. Es würde das Ersetzen enorm vereinfachen.
Nach der Konvertierung mit yConverter (4.7.2 nach 5.6.4) wurden zwar die Sprachen unter System/Sprachen angelegt, aber das Feld "Code" ist bei beiden Sprachen leer im R5.
In R5 werden Tabellen als InnoDB angelegt, aus dem Converter kommen sie als MyISAM.
ggf. rex_sql_util::organizePriorities
aus r5 kopieren und dann über die migrierte Slices Tabelle laufen lassen.
gemeldet aus Slack. Kann ich bestätigen.
durch $new rex_article_content
Das ist natürlich nicht beabsichtigt.
Habe in slack den Tipp bekommen, die direkte Übertragung von DB an DB zu verwenden, da der export/import mit dem Adminer nicht sauber läuft..
Kann dies bestätigen - direkt ging auch eine etwas größere DB mit 25 MB
u.U. kann man dies in der Dokumentation zum yconverter ergänzen...
Danke Alexander Walther!
In der Tabelle rex_template wird der Typ für die Felder createdate und updatedate nicht von int(11) auf datetime geändert.
könnte ggf. auch zu einer Vereinfachung helfen.
rex_exception: Column with name "re_id" does not exist.
File: redaxo/src/core/lib/sql/table.php
Line: 296
Function | File | Line |
---|---|---|
rex_sql_table->renameColumn | redaxo/src/addons/yconverter/lib/YConverter/Modifier.php | 67 |
YConverter\Modifier->updateTables | redaxo/src/addons/yconverter/lib/YConverter/YConverter.php | 53 |
YConverter\YConverter->modifyTables | redaxo/src/addons/yconverter/pages/convert.redaxo.php | 33 |
include | redaxo/src/core/lib/packages/package.php | 228 |
rex_package->includeFile | redaxo/src/core/lib/be/controller.php | 474 |
rex_be_controller::includePath | redaxo/src/core/lib/be/controller.php | 430 |
rex_be_controller::includeCurrentPageSubPath | redaxo/src/addons/yconverter/pages/index.php | 16 |
include | redaxo/src/core/lib/packages/package.php | 228 |
rex_package->includeFile | redaxo/src/core/lib/be/controller.php | 474 |
rex_be_controller::includePath | redaxo/src/core/lib/be/controller.php | 413 |
rex_be_controller::includeCurrentPage | redaxo/src/core/backend.php | 215 |
require | redaxo/src/core/boot.php | 135 |
require | redaxo/index.php | 9 |
REDAXO | |
---|---|
Version | 5.8.0 |
PHP | |
---|---|
Version | 7.3.6-nmm1 |
OPcache | no |
Xdebug | no |
Database | |
---|---|
Version | 5.7.26-nmm1-log |
Character set | latin1 (latin1_swedish_ci) |
Database 5 | |
---|---|
Version | 5.7.26-nmm1-log |
Character set | latin1 (latin1_swedish_ci) |
Server | |
---|---|
OS | Linux |
SAPI | fpm-fcgi |
Webserver | Apache |
Request | |
---|---|
Browser | Chrome/76.0.3809.132 |
Protocol | HTTP/2.0 |
HTTPS | yes |
Packages | |
---|---|
accessdenied | 1.0.5 |
adminer | 1.7.0 |
backup | 2.4.0 |
be_style | 2.8.0 |
be_style/customizer | 2.8.0 |
be_style/redaxo | 2.8.0 |
bloecks | 1.4.2 |
bloecks/cutncopy | 1.4.2 |
bloecks/status | 1.4.2 |
cache_warmup | 3.6.0 |
cronjob | 2.5.0 |
cronjob/article_status | 2.0.0 |
cronjob/optimize_tables | 2.3.1 |
developer | 3.8.0 |
global_settings | 2.3.1 |
install | 2.5.0 |
maintenance | 2.1.1 |
mblock | 3.1.0 |
media_manager | 2.7.0 |
mediapool | 2.6.0 |
metainfo | 2.5.0 |
mform | 5.3.1 |
mform/docs | 1.0 |
phpmailer | 2.6.0 |
project | dev |
quick_navigation | 3.7.0 |
structure | 2.8.0 |
structure/content | 2.8.0 |
theme | 1.1.1 |
uploader | 2.0.4 |
users | 2.5.2 |
watson | 2.1.0 |
yconverter | 2.0.0-dev |
yform | 3.1.1 |
yform/docs | 3.1.1 |
yform/email | 3.1.1 |
yform/manager | 3.1.1 |
yform/tools | 3.1.1 |
yform_usability | 1.4 |
yrewrite | 2.5 |
In der konvertierten yconverter_rex_media tabelle ist die Spalte "id" kein Auto-Inkrement Feld.
Das führt dazu, dass man beim Hinzufügen neuer Dateien in Medienpool Fehlermeldungen bekommt.
Für Metadaten und ggf. auch CSS/JS auskommentieren, damit nicht gleich ein Whoops entsteht.
REDAXO: 4.6.2
PHP: 5.6.32
MySQL: 10.1.28
(Cloudflare-Hosting)
Tabellen die nicht zum Core gehören werden zwar per yconverter übertragen, jedoch anschließend nicht umbenannt.
@gharlan könntest du da mal schauen
Das Addon tut genau was es soll.
Klar, es ist viel Nacharbeit erforderlich, aber durch die aussagekräftigen Fehlermeldungen in REX5 kein Thema und keine Sucherei. Danke.
Mit Adminer importierte YForm-Tabellen erzeugen Fehler in der Table Manager-Übersicht, da bspw. das mass_edit-Feld fehlt. Ein Reinstallieren von YForm und dem Table Manager fixen das Problem - soweit wir das beurteilen konnten - selbständig.
/cc @skerbis für deine Anleitung
Bei der Installation des Addons in Redaxo 4.6. fehlen die beiden Dateien:
config.inc.php
install.inc.php
Vergessen, hier mit einzupacken?
empty
Beim Aufruf des Tabs
Warning: include(pages/convert.xform.php) [<a href='https://php.net/manual/function.include'>function.include</a>]: failed to open stream: Datei oder Verzeichnis nicht gefunden in redaxo/src/core/lib/packages/package.php on line 231
Warning: include() [<a href='https://php.net/manual/function.include'>function.include</a>]: Failed opening 'pages/convert.xform.php' for inclusion (include_path='.:') in redaxo/src/core/lib/packages/package.php on line 231
Beim Versuch die DB von REDAXO 4.5 einzulesen:
Error while sending QUERY packet. PID=27673 in redaxo/src/core/lib/sql/sql.php on line 296
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/irgendeineDomain.de/rex5.irgendeineDomain.de/redaxo/src/core/lib/error_handler.php:262) in redaxo/src/core/lib/response.php on line 341
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/irgendeineDomain.de/rex5.irgendeineDomain.de/redaxo/src/core/lib/error_handler.php:262) in redaxo/src/core/lib/response.php on line 350
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/irgendeineDomain.de/rex5.irgendeineDomain.de/redaxo/src/core/lib/error_handler.php:262) in redaxo/src/core/lib/response.php on line 438
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/irgendeineDomain.de/rex5.irgendeineDomain.de/redaxo/src/core/lib/error_handler.php:262) in redaxo/src/core/lib/response.php on line 308
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/irgendeineDomain.de/rex5.irgendeineDomain.de/redaxo/src/core/lib/error_handler.php:262) in redaxo/src/core/lib/response.php on line 311
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/irgendeineDomain.de/rex5.irgendeineDomain.de/redaxo/src/core/lib/error_handler.php:262) in redaxo/src/core/lib/response.php on line 93
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/irgendeineDomain.de/rex5.irgendeineDomain.de/redaxo/src/core/lib/error_handler.php:262) in redaxo/src/core/lib/response.php on line 102
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/irgendeineDomain.de/rex5.irgendeineDomain.de/redaxo/src/core/lib/error_handler.php:262) in redaxo/src/core/lib/response.php on line 102
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/irgendeineDomain.de/rex5.irgendeineDomain.de/redaxo/src/core/lib/error_handler.php:262) in redaxo/src/core/lib/response.php on line 102
�����[ko�G���_�����t���p,�Yov���3��@�h���E $e�^���sn7)R�J��Y�6 B��Qu��[U�~���b��|�����{��k~��x~q��h��||���>Κ���r=*&�����қ�t��O���ISɏ���g�ٸ�V�q���X����C�^T���|����׳u�y��Z���jg���]�7��������k��V��]SЫ�Ѻ��>��V���{��~.��⿷��w9^^�� �����t����މ��ɇ���z>�&�n�|U��Ns������m����Y����坁���U7���8�O�����j=;�\ X�*&�l����j:[6��l��`������m3�hсV�c����B\��O/�� |�-&����ڧ>�� ��է���Tc�b|�^�f��V�/^`�0�I���8}��ΨK@�-.���c���|<6����Թ��S���6n�G�^ϫ�v�~4��y7�7���S����۷cs��s�������YV��tv������ۜ�85�ߧ4�^��/g���a �@��j�,g���1ǫ5�\�/����k��d�j������9�����K�s�]s��m�=0���,��>��ys8(����fY>tf��������->��T� �M�Bᵩ�߹���9_���-�o�I����R=;-�JX�z���Y��U���n.�����=x�7���!7f]��8??�y��@��]P���`���!�}N���m�i�^���j�ܮ��������q����Ň���V���e7���-����&�Cl��~,�����߿z��m9�����b1���lg�{�]�F5��b9z@nX%7",I;*����t6�����k���\�Ϳ�����w?���?��S����k�?��ӟ꺆 H�����q��^]+�AS��i�u�5�v8�}�`Ze��p��e�ٗ���GR���͠���$W��T��9���3���Z�����Y�A��Ag��M.��O�3�N� lЩ��=�џ��6� c t��v��.�����ڳK�q�0K5�u�9� e�m>5���M� ���!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.