[WISH] Wartungsmodus für Frontend
[WISH] Wartungsmodus für Frontend
Fürs Backend gibt es unter Administration >> Experteneinstellungen den Wartungsmodus für das backend.
Gleiches wäre für das Frontend sinnvoll.
Gleiches wäre für das Frontend sinnvoll.
Could I help you... you can help me... buy me a coffee ☕. (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )
xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung
Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung
Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
-
- Beiträge: 4260
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: [WISH] Wartungsmodus für Frontend
Verschoben! ...und nach Oben auf Forentitel zeig
Gruß aus Franken
Ortwin
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Re: [WISH] Wartungsmodus für Frontend
htaccess heisst das zauberwort. ist ja nun ein klacks.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
Re: [WISH] Wartungsmodus für Frontend
und für Leute die nicht in htaccess coden:
front_content.php umbenennen und HTML-Seite als front_content.php speichern
Jedoch könnte man in den Mandanten-Einstellungen soetwas aktivieren und ne input für idart & idcat machen.
mfg
OliverL
front_content.php umbenennen und HTML-Seite als front_content.php speichern
Jedoch könnte man in den Mandanten-Einstellungen soetwas aktivieren und ne input für idart & idcat machen.
mfg
OliverL
Re: [WISH] Wartungsmodus für Frontend
---- SQL ----
---- include/include.client_edit.php ----
( von unten nach oben sonst verschiebt sich alles )
ab Zeile 288
bei Zeile 188 SQL
"Select * From ......"
bei Zeile 150 neue SQL
bei Zeile 83 neue SQL
[[[ BE fertig ]]
Code: Alles auswählen
ALTER TABLE `con_clients` ADD `searchresult_art` INT( 10 ) NOT NULL DEFAULT '0',
ADD `searchresult_cat` INT( 10 ) NOT NULL DEFAULT '0',
ADD `loginerror_art` INT( 10 ) NOT NULL DEFAULT '0',
ADD `loginerror_cat` INT( 10 ) NOT NULL DEFAULT '0',
ADD `maintenance_active` TINYINT( 1 ) NOT NULL,
ADD `maintenance_art` INT( 10 ) NOT NULL DEFAULT '0',
ADD `maintenance_cat` INT( 10 ) NOT NULL DEFAULT '0'
( von unten nach oben sonst verschiebt sich alles )
ab Zeile 288
Code: Alles auswählen
$tpl->set('d', 'CATNAME', i18n("Maintenance page article"));
$tpl->set('d', 'BGCOLOR', $cfg["color"]["table_dark"]);
$tpl->set('d', "BORDERCOLOR", $cfg["color"]["table_border"]);
$tpl->set('d', 'CATFIELD', formGenerateField ("text", "maintenance_art", $db->f("maintenance_art"), 10, 10));
$tpl->set('d', 'BRDRT', 0);
$tpl->set('d', 'BRDRB', 1);
$tpl->set('d', 'FONT', 'text_medium');
$tpl->next();
$tpl->set('d', 'CATNAME', i18n("Maintenance page article"));
$tpl->set('d', 'BGCOLOR', $cfg["color"]["table_dark"]);
$tpl->set('d', "BORDERCOLOR", $cfg["color"]["table_border"]);
$tpl->set('d', 'CATFIELD', formGenerateField ("text", "maintenance_cat", $db->f("maintenance_cat"), 10, 10));
$tpl->set('d', 'BRDRT', 0);
$tpl->set('d', 'BRDRB', 1);
$tpl->set('d', 'FONT', 'text_medium');
$tpl->next();
$tpl->set('d', 'CATNAME', i18n("Searchresult category"));
$tpl->set('d', 'BGCOLOR', $cfg["color"]["table_dark"]);
$tpl->set('d', "BORDERCOLOR", $cfg["color"]["table_border"]);
$tpl->set('d', 'CATFIELD', formGenerateField ("text", "searchresult_cat", $db->f("searchresult_cat"), 10, 10));
$tpl->set('d', 'BRDRT', 0);
$tpl->set('d', 'BRDRB', 1);
$tpl->set('d', 'FONT', 'text_medium');
$tpl->next();
$tpl->set('d', 'CATNAME', i18n("Searchresult article"));
$tpl->set('d', 'BGCOLOR', $cfg["color"]["table_dark"]);
$tpl->set('d', "BORDERCOLOR", $cfg["color"]["table_border"]);
$tpl->set('d', 'CATFIELD', formGenerateField ("text", "searchresult_art", $db->f("searchresult_art"), 10, 10));
$tpl->set('d', 'BRDRT', 0);
$tpl->set('d', 'BRDRB', 1);
$tpl->set('d', 'FONT', 'text_medium');
$tpl->next();
$tpl->set('d', 'CATNAME', i18n("Loginerror category"));
$tpl->set('d', 'BGCOLOR', $cfg["color"]["table_dark"]);
$tpl->set('d', "BORDERCOLOR", $cfg["color"]["table_border"]);
$tpl->set('d', 'CATFIELD', formGenerateField ("text", "loginerror_cat", $db->f("loginerror_cat"), 10, 10));
$tpl->set('d', 'BRDRT', 0);
$tpl->set('d', 'BRDRB', 1);
$tpl->set('d', 'FONT', 'text_medium');
$tpl->next();
$tpl->set('d', 'CATNAME', i18n("Loginerror article"));
$tpl->set('d', 'BGCOLOR', $cfg["color"]["table_dark"]);
$tpl->set('d', "BORDERCOLOR", $cfg["color"]["table_border"]);
$tpl->set('d', 'CATFIELD', formGenerateField ("text", "loginerror_art", $db->f("loginerror_art"), 10, 10));
$tpl->set('d', 'BRDRT', 0);
$tpl->set('d', 'BRDRB', 1);
$tpl->set('d', 'FONT', 'text_medium');
$tpl->next();
$tpl->set('d', 'CATNAME', i18n("Activate maintenance mode"));
$tpl->set('d', 'BGCOLOR', $cfg["color"]["table_dark"]);
$tpl->set('d', "BORDERCOLOR", $cfg["color"]["table_border"]);
$tpl->set('d', 'CATFIELD', formGenerateCheckbox ('maintenance_active', 1, $db->f("maintenance_active")));
$tpl->set('d', 'BRDRT', 0);
$tpl->set('d', 'BRDRB', 1);
$tpl->set('d', 'FONT', 'text_medium');
$tpl->next();
$tpl->set('d', 'CATNAME', i18n("Maintenance page category"));
$tpl->set('d', 'BGCOLOR', $cfg["color"]["table_dark"]);
$tpl->set('d', "BORDERCOLOR", $cfg["color"]["table_border"]);
$tpl->set('d', 'CATFIELD', formGenerateField ("text", "maintenance_cat", $db->f("maintenance_cat"), 10, 10));
$tpl->set('d', 'BRDRT', 0);
$tpl->set('d', 'BRDRB', 1);
$tpl->set('d', 'FONT', 'text_medium');
$tpl->next();
$tpl->set('d', 'CATNAME', i18n("Maintenance page article"));
$tpl->set('d', 'BGCOLOR', $cfg["color"]["table_dark"]);
$tpl->set('d', "BORDERCOLOR", $cfg["color"]["table_border"]);
$tpl->set('d', 'CATFIELD', formGenerateField ("text", "maintenance_art", $db->f("maintenance_art"), 10, 10));
$tpl->set('d', 'BRDRT', 0);
$tpl->set('d', 'BRDRB', 1);
$tpl->set('d', 'FONT', 'text_medium');
$tpl->next();
"Select * From ......"
bei Zeile 150 neue SQL
Code: Alles auswählen
$sql = "UPDATE
".$cfg["tab"]["clients"]."
SET
name = '".Contenido_Security::escapeDB($clientname, $db)."',
frontendpath = '".Contenido_Security::escapeDB($frontendpath, $db)."',
htmlpath = '".Contenido_Security::escapeDB($htmlpath, $db)."',
errsite_cat = '".Contenido_Security::toInteger($errsite_cat)."',
errsite_art = '".Contenido_Security::toInteger($errsite_art)."',
searchresult_art = '".Contenido_Security::toInteger($searchresult_art)."',
searchresult_cat = '".Contenido_Security::toInteger($searchresult_cat)."',
loginerror_art = '".Contenido_Security::toInteger($loginerror_art)."',
loginerror_cat = '".Contenido_Security::toInteger($loginerror_cat)."',
maintenance_active = '".Contenido_Security::toInteger($maintenance_active)."',
maintenance_art = '".Contenido_Security::toInteger($maintenance_art)."',
maintenance_cat = '".Contenido_Security::toInteger($maintenance_cat)."'
WHERE
idclient = '".Contenido_Security::toInteger($idclient)."'";
Code: Alles auswählen
$sql = "INSERT INTO
".$cfg["tab"]["clients"]."
SET
name = '".Contenido_Security::escapeDB($clientname, $db)."',
frontendpath = '".Contenido_Security::escapeDB($frontendpath, $db)."',
htmlpath = '".Contenido_Security::escapeDB($htmlpath, $db)."',
errsite_cat = '".Contenido_Security::toInteger($errsite_cat)."',
errsite_art = '".Contenido_Security::toInteger($errsite_art)."',
idclient = '".Contenido_Security::toInteger($idclient)."',
searchresult_art = '".Contenido_Security::toInteger($searchresult_art)."',
searchresult_cat = '".Contenido_Security::toInteger($searchresult_cat)."',
loginerror_art = '".Contenido_Security::toInteger($loginerror_art)."',
loginerror_cat = '".Contenido_Security::toInteger($loginerror_cat)."',
maintenance_active = '".Contenido_Security::toInteger($maintenance_active)."',
maintenance_art = '".Contenido_Security::toInteger($maintenance_art)."',
maintenance_cat = '".Contenido_Security::toInteger($maintenance_cat)."'";
[[[ BE fertig ]]
Re: [WISH] Wartungsmodus für Frontend
---- front_content.php ----
ab Zeile 250
[[[ FE fertig ]]]
Nach einem Praxistest kann man gucken was daraus wird.
mfg OliverL
ich wollte die id's mit in die cfgClient hängen. War keine gute Idee. cfgClient wird als session gespeichert und somit keine gute idee.
ab Zeile 250
Code: Alles auswählen
$sql = "SELECT maintenance_active, maintenance_art, maintenance_cat FROM ".$cfg["tab"]["clients"]." WHERE idclient = ".$client." AND maintenance_active = 1";
$db->query($sql);
if( $db->next_record() ) {
unset( $idart, $idcat, $idcatart );
$idart = $db->f("maintenance_art");
$idcat = $db->f("maintenance_cat");
}
Nach einem Praxistest kann man gucken was daraus wird.
mfg OliverL
ich wollte die id's mit in die cfgClient hängen. War keine gute Idee. cfgClient wird als session gespeichert und somit keine gute idee.
-
- Beiträge: 4260
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: [WISH] Wartungsmodus für Frontend
Sehr schöne Arbeit Oliver
Könnte, oder sollte, man da evtl. noch ergänzen das Contenido einfach eine Standard-Maintenance-Seite aufruft (in html) wenn die entsprechenden Werte für idcat/idart leer sind, bzw. wenn der entsprechende Maintenanceartikel nicht angelegt/vorhanden/offline, ist?
Gruß aus Franken
Ortwin
Könnte, oder sollte, man da evtl. noch ergänzen das Contenido einfach eine Standard-Maintenance-Seite aufruft (in html) wenn die entsprechenden Werte für idcat/idart leer sind, bzw. wenn der entsprechende Maintenanceartikel nicht angelegt/vorhanden/offline, ist?
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Re: [WISH] Wartungsmodus für Frontend
für alle die bei google (oder auch anderen indizes) gelistet sind und es auch gerne bleiben möchte: nicht anwenden. die suchmaschinen haben wenig freude daran. mit etwas pech ist der crawler während der maintenance vor ort und dann ist schluss mit position bei google, geschweige denn mit einer guten.
das ganze scheint zunächst hilfreich. aber wann sollte man das anwenden wollen? in einem intranet vielleicht oder nur im geschlossenen bereich. gut. aber dann dürfte es sich auch nur auf diesen auswirken.
das ganze scheint zunächst hilfreich. aber wann sollte man das anwenden wollen? in einem intranet vielleicht oder nur im geschlossenen bereich. gut. aber dann dürfte es sich auch nur auf diesen auswirken.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
Re: [WISH] Wartungsmodus für Frontend
Hi,
@Ortwin: Eine URL zu einer statischen Seite find ich auch gut.
Mal gucken ob ich heute abend daran denke.
mfg OliverL
@Kummer: Gibt es von dir dazu auch einen Vorschlag wie es besser geht?
@Ortwin: Eine URL zu einer statischen Seite find ich auch gut.
Mal gucken ob ich heute abend daran denke.
mfg OliverL
@Kummer: Gibt es von dir dazu auch einen Vorschlag wie es besser geht?
-
- Beiträge: 437
- Registriert: Do 19. Jun 2008, 09:09
Re: [WISH] Wartungsmodus für Frontend
Wenn man die Weiterleitung mit einem Status Code 307 sendet ignoriert Google das, da es als temporäre Weiterleitung erkannt wird.
Viele Grüße
Dominik
Dominik
Re: [WISH] Wartungsmodus für Frontend
da war dominik schneller. nach wie vor, würde ich das eher über htaccess lösen, wie eingangs schon mal geschrieben. und zwar einfach deshalb, weil eine maintenance ja bedeutet, dass du was am system vornimmst. was wiederum bedeutet, dass es vorübergehend nicht funktionieren wird. apache ist das zunächst egal, der funktioniert trotzdem. aber contenido wird während eines updates oder eine fehlerkorrektur eben nicht funktionieren. dann hilft dir die beste programmierung nichts. und wenn contenido einwandfrei läuft, brauchst du maintenance ja nicht.OliverL hat geschrieben:@Kummer: Gibt es von dir dazu auch einen Vorschlag wie es besser geht?
was google tatsächlich macht, wenn die seite nicht erreichbar ist, wissen die götter und ein paar jungs bei google. der rest ist in wirklichkeit seo-kaffesatzlesen. besser als die seiten zuänglich lassen, wird es sicher nicht sein. und wenn man dann umleitet, sollte man auch bezeichnen, wie lange der unterbruch dauern wird. es ist nicht immer zu vermeiden. aber wenn möglich, sollte man es.
dem ton entnehme ich eine gewissen unzufriedenheit. ich vermute es liegt daran, dass ich nicht gleich mit programmcode aufwarte. das hat zwei gründe: a) will ich gar nicht erst ausbreiten. ist auch egal. b) in diesem fall wichtiger: es gibt nichts zu programmieren, da bei einer echten wartung - also wenn man nicht bloss so tut als ob - keine vernünftige möglichkeit besteht, es mit systemimmanenten mitteln zu lösen. da musst du eben eine schicht bemühen, die von der wartung nicht betroffen ist. das ist dann der webserver. in den meisten fällen apache und deshalb sind wir dann wieder bei htaccess. alles andere funktioniert genau dann - oder besser: würde dann funktionieren - wenn es nicht gebraucht wird. und wird dann versagen, wenn man es brauchen würde. aber ich will niemanden im weg stehen. wenn jemand einen anwendungsfall kennt oder vermutet, dann ist ja gut.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
Re: [WISH] Wartungsmodus für Frontend
die frage ist, was google eher mag: 307 (= keine zeitangabe, wann mit dem ende der maintenance zu rechnen ist) oder 503. ich vermute mal, dass google und co. den header sehen möchten, der genau repräsentiert, was vorliegend ist. das wäre dann allerdings ein 503. 307 ist ja nicht spezifisch. ausserdem besteht beim 507 die möglichkeit anzugeben, wie lange die downtime sein wird (Retry-After-heder).dominik.ziegler_4fb hat geschrieben:Wenn man die Weiterleitung mit einem Status Code 307 sendet ignoriert Google das, da es als temporäre Weiterleitung erkannt wird.
aber vermutlich werden hier - wie bei seo-fragen nicht untypisch - die meinungen stark auseinander gehen.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
-
- Beiträge: 437
- Registriert: Do 19. Jun 2008, 09:09
Re: [WISH] Wartungsmodus für Frontend
503 sollte da wohl die bessere Wahl sein.
http://googlewebmastercentral-de.blogsp ... einer.html
http://googlewebmastercentral-de.blogsp ... einer.html
Viele Grüße
Dominik
Dominik
-
- Beiträge: 3626
- Registriert: Di 12. Okt 2004, 20:00
- Wohnort: Voerde (Niederrhein)
- Kontaktdaten:
Re: [WISH] Wartungsmodus für Frontend
Ich finde die Lösung per .htaccess auch sinnvoller. Der Wartungsmodus im Backend ist häufig ja noch ganz praktisch, wenn man verhindern will, dass Redakteure während einer Aktualisierung eines Plugins/Moduls o.ä. dazwischen funken.
Wenn man einen Frontend-Wartungsmodus benötigt, halte ich insb. den Rückgriff auf die Datenbank für entsprechende Inhalte und die Einstellungen für problematisch, da ja gar nicht garantiert werden kann, dass auf die Datenbank überhaupt zugegriffen oder ein konfigurierter Artikel wirklich angezeigt werden kann.
Aussehen könnte das per .htaccess z.B. so:
http://25yearsofprogramming.com/blog/20070704.htm
Wenn man einen Frontend-Wartungsmodus benötigt, halte ich insb. den Rückgriff auf die Datenbank für entsprechende Inhalte und die Einstellungen für problematisch, da ja gar nicht garantiert werden kann, dass auf die Datenbank überhaupt zugegriffen oder ein konfigurierter Artikel wirklich angezeigt werden kann.
Aussehen könnte das per .htaccess z.B. so:
http://25yearsofprogramming.com/blog/20070704.htm