Contao-Camp 2024
Ergebnis 1 bis 21 von 21

Thema: Ratschläge zum Vorgehen auf Version 4.4

  1. #1
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard Ratschläge zum Vorgehen auf Version 4.4

    Servus,

    ich bereite gerade das Update einer alten 3.5 Version auf 4.4 vor.
    Ich habe das ganze auch schon mal getestet und läuft auch ganz gut durch.
    Jetzt mein Problem: Ich habe da u.a. die Erweiterung EFG im Einsatz, die ich mit dem Notification Center ersetzen muss.
    Mir stellt sich jetzt die Frage, in wie fern die Umstellung irgendwie vorbereiten kann.

    Mein Vorgehen biser:

    Neue Contao 4 installations erstellen
    Datenbank aus 3.5 in leere Tabelle importieren
    files, templates, localconfig übernehmen
    Installtool aufrufen
    SMTP unter -> D:\htdocs\c4comtest4\app\config\parameters.yml
    Themes -> Layout -> Seitenlayout neu speichern
    CSS - Anpassungen: Alle spans zu strong ändern.

    In der 3.5er Version kann leider kein Composer zum Einsatz kommen.

    Gibt es irgend ne Möglichkeit eine Version x der 3.5 auf 4.4. zu Updaten und dann alle Änderungen vornehmen und zum Schluss die Datenbank nur nochmal mit den aktuellen News, Events, Articles etc zu füllen?

  2. #2
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.273

    Standard

    Ganz aktuell: https://contao-academy.de/blog/updat...3-auf-contao-4

    Edit:
    Sorry den Zusatz mit efg nicht gesehen. Hatte früher auch überall efg. Ich habe in C4 dann einfach nur NC + Leads installiert.

  3. #3
    AG Pressearbeit
    Community-Moderator
    Buchautor 'Contao für Webdesigner'
    Avatar von planepix
    Registriert seit
    05.06.2009.
    Ort
    Stuttgart
    Beiträge
    6.464
    Partner-ID
    107
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Wenn du noch die Texte der Bestätigungsmails mit NC weiterverwenden willst, dann sichere dir diese in eine Textdatei.

    Dann kannst du dir {{form::XX}} durch ##form_XX## ersetzen und must diese Sachen dann nicht nochmal neu eingeben.
    ---------------------------------
    Beste Grüße planepix
    Contao für Webdesigner (Website), Twitter: @contaowebdesign
    weitzeldesign
    Contao-Sprechstunde
    Contao Schulungen: https://www.weitzeldesign.com/cms-co...chulungen.html
    Contao Jahrbuch: www.contao-jahrbuch.de
    Contao Agenturtag: www.contao-agenturtag.de
    Contao Stammtisch Stuttgart: www.contao-stammtisch-stuttgart.de
    Contao 4 Erfahrungen als Gitbook: https://app.gitbook.com/@planepix/s/...-mit-contao-4/
    Contao 4 & Manager Hosterhinweise: https://github.com/contao/contao-manager/wiki

    Schon wieder ein Update?
    Glücklich sind die, die den Wert erkennen – und wertschätzen.
    „Muss man machen wie beim Zahnarzt. Der bestraft einen auch mit hohen Rechnungen wenn man die Pflege vernachlässigt.”

  4. #4
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Danke für die Hinweise.

    Was mir gerade aufgefallen ist.

    In meiner 3.5.er Version heißen die Links
    https://tld/index.php/index.html

    in der 4 Version heißen die Links nur noch https://tld/index.html

    Wo und wann ist das /index.php/ weggefallen oder handelt es sich um eine Einstellung?

  5. #5
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.273

    Standard

    Das fällt weg sobald man Rewrite der URLs anschaltet und hat mit der Contao Version nichts zu tun :-)

  6. #6
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Also gibt es die index.php überhaupt noch?

    Ich habe die neue .htaccess von contao verwendet.

  7. #7
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.273

    Standard

    Ja, wenn du URL Rewrite nicht verwendest steht das /index.php/ mit in der URL

  8. #8
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Wo genau stelle ich das mod_rewrite in htacress von Contao 4 aus?

    App_php soll aber nicht erscheinen..

    Code:
    <IfModule mod_headers.c>
        # Allow access from all domains for webfonts (see contao/core-bundle#528)
        <FilesMatch "\.(ttf|ttc|otf|eot|woff2?|font\.css)$">
            Header set Access-Control-Allow-Origin "*"
        </FilesMatch>
    </IfModule>
    
    <IfModule mod_rewrite.c>
        RewriteEngine On
    
        # Determine the RewriteBase automatically and set it as environment variable.
        # If you are using Apache aliases to do mass virtual hosting or installed the
        # project in a subdirectory, the base path will be prepended to allow proper
        # resolution of the app.php file and to redirect to the correct URI. It will
        # work in environments without path prefix as well, providing a safe, one-size
        # fits all solution. But as you do not need it in this case, you can comment
        # the following 2 lines to eliminate the overhead.
        RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
        RewriteRule ^(.*) - [E=BASE:%1]
    
        # Sets the HTTP_AUTHORIZATION header removed by Apache
        RewriteCond %{HTTP:Authorization} .
        RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    
        # Redirect to URI without front controller to prevent duplicate content
        # (with and without `/app.php`). Only do this redirect on the initial
        # rewrite by Apache and not on subsequent cycles. Otherwise we would get an
        # endless redirect loop (request -> rewrite to front controller ->
        # redirect -> request -> ...).
        # So in case you get a "too many redirects" error or you always get redirected
        # to the start page because your Apache does not expose the REDIRECT_STATUS
        # environment variable, you have 2 choices:
        # - disable this feature by commenting the following 2 lines or
        # - use Apache >= 2.3.9 and replace all L flags by END flags and remove the
        #   following RewriteCond (best solution)
        RewriteCond %{ENV:REDIRECT_STATUS} ^$
        RewriteRule ^app\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]
    	
    	RedirectMatch 301 /index.php(.*)$ http://localhost/map/web/$1
    
        # If the requested filename exists, simply serve it.
        # We only want to let Apache serve files and not directories.
        RewriteCond %{REQUEST_FILENAME} -f
        RewriteRule ^ - [L]
    
        # Rewrite all other queries to the front controller.
        RewriteRule ^ %{ENV:BASE}/app.php [L]
    	
    
    </IfModule>
    
    <IfModule !mod_rewrite.c>
        <IfModule mod_alias.c>
            # When mod_rewrite is not available, we instruct a temporary redirect of
            # the start page to the front controller explicitly so that the website
            # and the generated links can still be used.
            RedirectMatch 302 ^/$ /app.php/
            # RedirectTemp cannot be used instead
        </IfModule>
    </IfModule>

    Ich hatte jetzt probiert die anfragene (lokal) einfach weiterzuleiten..

    Code:
    RedirectMatch 301 /index.php(.*)$ http://localhost/map/web/$1
    Ich lande aber immer auf der Startseite

  9. #9
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.548
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Acta Beitrag anzeigen
    Also gibt es die index.php überhaupt noch?
    Nein, bis Contao 4.7 erfolgt der Einstiegspunkt über die app.php (bzw. app_dev.php). Ab Contao 4.8 gibt es dann wieder eine index.php
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  10. #10
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Zitat Zitat von xchs Beitrag anzeigen
    Nein, bis Contao 4.7 erfolgt der Einstiegspunkt über die app.php (bzw. app_dev.php). Ab Contao 4.8 gibt es dann wieder eine index.php
    hm.... jetzt wird verrückt.

    Die Weiterleitung tut jetzt ihrer Job "FAST" -> Ich habe noch ein / zuviel. Deshalb funktionieren die Links nicht.

    Code:
    http://tld//mein-konto.html
    Mus einfach das / nach 301 raus? das das / nach tld?

    Code:
    RedirectMatch 301 /index.php(.*)$ http://tld/$1

  11. #11
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Ich muss jetzt nochmal was blödes fragen:

    meine alte Website lief unter

    http://domain.de/tl

    nun habe die Website umgezogen und diese ist nun unter

    http://domain.de erreichbar

    Ich bin gerade zu blöd wie ich den DOC-Root so gelegt bekomme, dass /tl noch enthalten ist

    Code:
    DocumentRoot "D:/htdocs/domain/web"

  12. #12
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.273

    Standard

    D:/htdocs/domain/tl/web"
    Geändert von Kahmoon (18.07.2019 um 11:57 Uhr)

  13. #13
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    ich glaub ich hab mich falsch ausgedrückt.

    in der domain.de soll noch domain.de/tl hinterlegt sein.

    Also aufruf z.b. von
    ALt:
    domain.de/tl/index.php/hallo.html

    wird in Contao 4 automatisch

    domain.de/hallo.html

    ich hätte aber gern noch: domain.de/tl/hallo.html

    Oder ist es besser einfach einen redirect einzurichten?

    /tl/index.php --> domain.de

  14. #14
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.273

    Standard

    Stimmt...das wird ja das Document root....Quatsch.... ;-)

  15. #15
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Generell stehe ich derzeit vor dem Problem das auf einer Umgebung mehrere Services laufen. Diesen waren bisher aller über domain.de/service* erreichbar.

    domain.de/service1 (Contao)
    domain.de/service2 (Wiki)
    domain.de/service3 (Piwik/Matomo)
    domain.de/service4

    Service 1 und Service 2 enthalten nun mittlerweile viele Verlinkungen aus dem jeweils anderen Service.

    Mit dem neuen Contao 4 brauch ich aber für Service 1 (Contao) einen eigenen vhost

    d.h. aus domain.de/service1 wird -> domain.de

    für Service 2,3 und 4 bräuchte ich neue Domains (bzw. Subdomains)

    Probleme die ich jetzt habe sind:
    der bekannte Link domain.de/service1 geht nicht mehr... bzw. müsste ich diesen per Redirect auf domain.de umlegen

    Auch der bekannte Link vom service2 geht nicht mehr... da ich ja jetzt domain.de für Service 1 alleine brauch -> d.h. ich müsste service2.domain.de als Subdomain einrichten und zusätzlich einen redirect für domain.de/service 2 in der htaccess von Contao

    Oder gibts irgend ne schlaue Lösung in den Vhosts?

  16. #16
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.896
    Partner-ID
    10107

    Standard

    So wie du das jetzt machen willst ist es doch eh schon schlau? Was genau stellst du dir vor?

  17. #17
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Was genau ich mir vorstelle:

    Die alte Ordnerstruktur weiterverwenden um mir den ganzen Spaß mit den redirects zu sparen :-)

    Aber an deine Reaktion erkenne ich, dass dass wohl so nix wird!

  18. #18
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.896
    Partner-ID
    10107

    Standard

    Nein, jede deiner Web Applikationen sollte eine eigene Domain benutzen.

  19. #19
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Ich muss den Beitrag nochmal hochholen!

    Frage.. ist es möglich das Update von 3.5. auf 4.4 zu machen und dann zum Schluss nur die Tabellen TL_News, TL_User, TL_Content und TL-Events noch einmal aktuell aus der Datenbank rüber zu kopieren?

    Ich habe z.b. ganz viele Formulare und Module in 3.5 die ich unter 4.4 anpassen muss.

    Meine Idee:

    Contao auf dem neuen Server von 3.5 auf 4.4 updaten, Erweiterungen, Formulare, N-Center etc.

    Und dann zum Zeitpunkt des Umzugs nur noch nur die Tabellen TL_News, TL_User, TL_Content und TL-Events aus der bestehenden 3.5er noch einmal ganz frisch ziehen und in der 4.4 Version einspielen.

  20. #20
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Ich habs mal probiert.

    Ergebnis:

    Code:
    Integrity constraint violation:
    für tl_member

    und beim aufruf von /install

    Code:
    [2019-10-09 14:05:46] app.CRITICAL: An exception occurred. {"exception":"[object] (Doctrine\\DBAL\\Exception\\NonUniqueFieldNameException(code: 0): An exception occurred while executing '\n            ALTER TABLE\n                tl_calendar_events\n            ADD\n                overwriteMeta CHAR(1) DEFAULT '' NOT NULL\n        ':\n\nSQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'overwriteMeta' at D:\\htdocs\\contao\\vendor\\doctrine\\dbal\\lib\\Doctrine\\DBAL\\Driver\\AbstractMySQLDriver.php:85, Doctrine\\DBAL\\Driver\\PDOException(code: 42S21): SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'overwriteMeta' at D:\\htdocs\\contao\\vendor\\doctrine\\dbal\\lib\\Doctrine\\DBAL\\Driver\\PDOConnection.php:109, PDOException(code: 42S21): SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'overwriteMeta' at D:\\htdocs\\contao\\vendor\\doctrine\\dbal\\lib\\Doctrine\\DBAL\\Driver\\PDOConnection.php:107)"} []

  21. #21
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Im SQL sah das ganze so aus:

    Code:
    DROP TABLE IF EXISTS `tl_log`;
    CREATE TABLE IF NOT EXISTS `tl_log` (
      `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `tstamp` int(10) unsigned NOT NULL DEFAULT '0',
      `action` varchar(32) NOT NULL DEFAULT '',
      `source` varchar(32) NOT NULL DEFAULT '',
      `username` varchar(64) NOT NULL DEFAULT '',
      `ip` varchar(64) NOT NULL DEFAULT '',
      `func` varchar(255) NOT NULL DEFAULT '',
      `browser` varchar(255) NOT NULL DEFAULT '',
      `text` text,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=197161 ;
    
    --
    -- Daten für Tabelle `tl_log`
    --
    
    INSERT INTO `tl_log` (`id`, `tstamp`, `action`, `source`, `username`, `ip`, `func`, `browser`, `text`) VALUES

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •