[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
INVALID: Medienpool datei aktualisieren Dateinname gleich - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
steri
Beiträge: 364
Registriert: 12. Jul 2007, 14:59

INVALID: Medienpool datei aktualisieren Dateinname gleich

15. Dez 2007, 14:53

Hallo,

ich weiß nicht ob das ein bug ist und ob das schon mal diskutiert wurde
(hab zumindest nix im forum gefunde) -
auf jedenfall ist mir das in redaxo 3 auch schon mal aufgefallen und nun auch in redaxo 4:
und zwar wenn man eine datei im medienpool mit dem gleichen typ akutalisiert wird zwar das bild aktualisiert aber nicht der dateiname.

also z.b. hab ich das bild baum.jpg wo ein baum drauf zu sehen ist im medienpool.
nun tausche ich über "aktualisieren" das bild mit blume.jpg aus.

es ist nun zwar das bild mit der blume zu sehen, aber der dateiname ist immer noch baum.jpg

lg steri

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

20. Dez 2007, 19:09

Hi Steri,

du hast vollkommen recht, allerdings ist das auch so gewollt.

Da die ganzen Bilder in den REX_MEDIA_BUTTONS etc überall mit dem Dateinamen hinterlegt werden, darf dieser nicht geändert werden, da sonst die Verknüpfung nicht mehr funktionieren würde...

Das muss also so sein..

Viele Grüße,
Markus

frood
Beiträge: 226
Registriert: 7. Okt 2008, 15:17

Re: INVALID: Medienpool datei aktualisieren Dateinname gleic

13. Jul 2012, 12:30

Moin!

Nach einigen Jahren würde ich dies Thema gern nochmal aufgreifen, da es, wie ich finde, immernoch aktuell ist.

@Redakteur: vielleicht könnte das "INVALID" aus dem Titel und der Beitrag verschoben werden ... scheint ja viele zu interessieren. Vielen Dank!

Mir ist das Argument mit den REX_MEDIA_BUTTONS schon klar, allerdings ist eine Blume nunmal kein Baum ;).
(was im Übrigen auch die Bildersuche von google betrifft).
Bei mir konkret geht es um Dateiversionen bei PDFs, z.B:

datenblatt_v2.pdf wird ausgetauscht gegen datenblatt_v3.pdf

Es wäre nun natürlich möglich, das Datenblatt beim ersten Upload einfach "datenblatt.pdf" zu nennen und die Version dann über Titel oder Beschreibung auszugeben, dies ist aber - zumindest im meinem Fall - a) umständlich und pass b) nicht zur Dateiverwaltung meines Kunden.

Meine Idee für den Datei-Austausch wäre:
1. neue Datei wird unter Originalnamen hochgeladen
2. die Datenbank wird nach dem alten Dateinamen durchsucht und überall wo er auftauscht - also auch in den Media-Listen - wird er gegen den neuen Dateinamen ausgetauscht
3. die alte Datei wird aus Files-Ordner und Medienpool gelöscht

Dazu nun noch zwei Fragen:
1. Spricht etwas gegen diese Methode?
2. Hat schonmal jemand etwas in die Richtung umgesetzt oder vielleicht einen anderen tauglichen Weg gefunden?

Ich werd jetzt mal basteln gehen ....

Gruss, Frood

Thomas.Skerbis
Beiträge: 1371
Registriert: 4. Aug 2006, 14:06
Wohnort: Rheinberg
Kontaktdaten: Website Twitter

Re: INVALID: Medienpool datei aktualisieren Dateinname gleic

13. Jul 2012, 14:43

Sinnvoller wäre es statt der Dateinamen die IDs beim REX_MEDIA_BUTTON verwenden.
Das ginge allerdings nur mit einem Umbau von Redaxo. Leiden würde daher die Kompatibilität und Upgrades aus älteren Redaxo-Versionen wären nicht mehr möglich.

Code: Alles auswählen

die Datenbank wird nach dem alten Dateinamen durchsucht und überall wo er auftauscht - also auch in den Media-Listen - wird er gegen den neuen Dateinamen ausgetauscht
Alternativ könnte so auch eine Funktion zur Verfügung gestellt werden, die es ermöglicht Dateinamen auf dem gleichen Weg umzubenennen. Manchmal macht es nämlich Sinn, dass der Dateiname gleich bleibt, vor allem wenn man davon ausgeht, dass er irgendwo z.B. auf Partnerseiten verlinkt wurde. (Das könnten z.B. Gesetze, AGBs, Spielregeln usw. sein)

frood
Beiträge: 226
Registriert: 7. Okt 2008, 15:17

Re: INVALID: Medienpool datei aktualisieren Dateinname gleic

13. Jul 2012, 15:39

Hallo Skerbis,
Sinnvoller wäre es statt der Dateinamen die IDs beim REX_MEDIA_BUTTON verwenden.
Das ginge allerdings nur mit einem Umbau von Redaxo.
was müsste ich dabei alles anfassen?
Manchmal macht es nämlich Sinn, dass der Dateiname gleich bleibt, vor allem wenn man davon ausgeht, dass er irgendwo z.B. auf Partnerseiten verlinkt wurde. (Das könnten z.B. Gesetze, AGBs, Spielregeln usw. sein)
Guter Einwand!

Ich werde erstmal versuchen, ein Optionsfeld "neuen Dateinamen übernehmen" einzubauen.
Vielleicht könnte man auf diese Weise sogar Datei-Versionen im Medienpool ermöglichen, wenn man die Datenbank etwas erweitert.

Benutzeravatar
Cheffchen
Beiträge: 1809
Registriert: 3. Mär 2009, 13:51
Wohnort: Berlin
Kontaktdaten: Website

Re: INVALID: Medienpool datei aktualisieren Dateinname gleic

14. Jul 2012, 00:07

HAllo,

also die DB brauchst nicht anfassen denn es gibt ja schon eine ID pro Bild.
die werden ja auch im medienpool angezeigt.

Cheffchen

frood
Beiträge: 226
Registriert: 7. Okt 2008, 15:17

Re: INVALID: Medienpool datei aktualisieren Dateinname gleic

14. Jul 2012, 10:43

also die DB brauchst nicht anfassen denn es gibt ja schon eine ID pro Bild.
die werden ja auch im medienpool angezeigt.
Schon klar, langt aber nicht für eine Zuordnung. Für Datei-Versionen bräuchte man eine Variable mehr, um einer Datei verschiedene Versionen zuordnen zu können, ähnlich wie beim Version-Addon, z.B.:

datenblatt1_v1.pdf -> ID:1 ; vID:1
datenblatt1_v2.pdf -> ID:2 ; vID:1

datenblatt2_v1.pdf -> ID:3 ; vID:2
datenblatt2_v2.pdf -> ID:4 ; vID:2

Im Medienpool könnte dann geschaut werden, ob es zu einer Datei-ID eine Datei mit gleicher vID, also eine andere Version (z.B. Sprachversion) desselben Datenblatts gibt.

Ingo
Beiträge: 782
Registriert: 24. Jun 2010, 00:34

Re: INVALID: Medienpool datei aktualisieren Dateinname gleic

14. Jul 2012, 14:07

frood hat geschrieben:Schon klar, langt aber nicht für eine Zuordnung. Für Datei-Versionen bräuchte man eine Variable mehr, um einer Datei verschiedene Versionen zuordnen zu können, ähnlich wie beim Version-Addon
Dein Ansatz ist imho komplett falsch. Schreib dir ein kleines Addon, über das die Datenblätter verwaltet werden. Oder verwalte die Datenblätter über den Table Manager. Pro Datenblatt legst du einen Table Manager Eintrag an, dem das jeweils aktuelle PDF zugeordnet wird.

frood
Beiträge: 226
Registriert: 7. Okt 2008, 15:17

Re: INVALID: Medienpool datei aktualisieren Dateinname gleic

15. Jul 2012, 11:53

Was eine kleine Nebenbemerkung doch an Reaktion auslösen kann ;)
Mir geht es doch eigentlich erstmal nur um die Übernahme des neuen Dateinamens (s.o.), die Versions-Idee kam nur so nebenbei! Hier gäbe es sicherlich viele Methoden ... die einfachste wäre ja, das mit Kategorien im medienpool zu organisieren oder über die Dateibeschreibung ... oder auch über den Table-Manager.
Aber wie gesagt: es geht um Übernahme des Dateinamens. Also werde ich erstmal Skerbis' Anregung folgend ein Optionsfeld basteln. Trotzdem schönen Dank für die Anteilnahme, vielleicht kann man den Gedanken ja mal weiterführen.

frood
Beiträge: 226
Registriert: 7. Okt 2008, 15:17

Re: INVALID: Medienpool datei aktualisieren Dateinname gleic

3. Okt 2012, 16:48

Tach!

Ich habe nun mal ein bischen gebastelt, damit sich auch der Dateiname ändert, wenn man eine Datei im Medienpool aktualisiert. Modifikationen habe ich in der function_rex_mediapool.inc.php eingefügt (redaxo-Version 4.3.2):

Code: Alles auswählen

      
// ..... ab Zeile 216:

        if($size = @getimagesize($REX['MEDIAFOLDER'] .'/'. $FILEINFOS["filename"]))
        {
          $FILESQL->setValue('width',$size[0]);
          $FILESQL->setValue('height',$size[1]);
        }
        

	// ################ MODIFIKATION DATEI UMBENENNEN Start ##########################
		

		// alter Dateiname
		$old_file_name = $FILEINFOS["filename"];
		
		// neue Namen
		$new_orig_name = $_FILES['file_new']['name']; 				
		$new_file_name = rex_mediapool_filename($new_orig_name);
		 
		// Deburg
		// echo 'old_file_name: '.$old_file_name.'<br>';
		// echo 'new_orig_name: '.$new_orig_name.'<br>';
		// echo 'new_file_name: '.$new_file_name.'<br>';
		
		// SQL
		$FILESQL->setValue('originalname',$new_orig_name);
		$FILESQL->setValue('filename',$new_file_name);
		
        //Datei im files-Ordner umbenennen
		rename("../files/$old_file_name","../files/$new_file_name");

		// Alle Vorkommen in der DB suchen 
		// ###### meta-files werden noch nicht beruecksichtigt! ###### 
		// ###### hier nur fuer filelist1, andere werden nicht verwendet! ######
		// Suchen inkl. "files/" bzw. "," um Eindeutigkeit zu gewaehrleisten 
		// ( "%test.pdf%" wuerde auch in "zweitertest.pdf" gefunden )
		$check_DB = rex_sql::factory();
		// $check_DB->debugsql = 1;
		$check_DB->setQuery('SELECT * FROM '.$REX['TABLE_PREFIX'].'article_slice WHERE 
							  
			value1 LIKE "%files/'.$old_file_name.'%" OR 
			value2 LIKE "%files/'.$old_file_name.'%" OR 
			value3 LIKE "%files/'.$old_file_name.'%" OR 
			value4 LIKE "%files/'.$old_file_name.'%" OR 
			value5 LIKE "%files/'.$old_file_name.'%" OR 
			value6 LIKE "%files/'.$old_file_name.'%" OR 
			value7 LIKE "%files/'.$old_file_name.'%" OR 
			value8 LIKE "%files/'.$old_file_name.'%" OR 
			value9 LIKE "%files/'.$old_file_name.'%" OR 
			value10 LIKE "%files/'.$old_file_name.'%" OR 
			value11 LIKE "%files/'.$old_file_name.'%" OR 
			value12 LIKE "%files/'.$old_file_name.'%" OR 
			value13 LIKE "%files/'.$old_file_name.'%" OR 
			value14 LIKE "%files/'.$old_file_name.'%" OR 
			value15 LIKE "%files/'.$old_file_name.'%" OR 
			value16 LIKE "%files/'.$old_file_name.'%" OR 
			value17 LIKE "%files/'.$old_file_name.'%" OR 
			value18 LIKE "%files/'.$old_file_name.'%" OR 
	 		value19 LIKE "%files/'.$old_file_name.'%" OR 
			value20 LIKE "%files/'.$old_file_name.'%" OR 
	 		
	  		file1 = "'.$old_file_name.'" OR 
	  		file2 = "'.$old_file_name.'" OR 
	  		file3 = "'.$old_file_name.'" OR 
	  		file4 = "'.$old_file_name.'" OR 
	  		file5 = "'.$old_file_name.'" OR 
	  		file6 = "'.$old_file_name.'" OR 
	  		file7 = "'.$old_file_name.'" OR 
	  		file8 = "'.$old_file_name.'" OR 
	  		file9 = "'.$old_file_name.'" OR 
	  		file10 = "'.$old_file_name.'" OR 
	  		
	  		filelist1 LIKE "%,'.$old_file_name.'%" OR filelist1 LIKE "'.$old_file_name.'%" 
							  						  
		');
		
	
		for($i=0;$i<$check_DB->getRows();$i++){
			
			// IDs fuer Kontroll-Links und um Artikel neu zu generieren
			$article_id[$i]= $check_DB->getValue('article_id');	
			$slice_id[$i]= $check_DB->getValue('id');
			$clang[$i]= $check_DB->getValue('clang');
			
			// Ausgabe Kontroll-Links
			echo '<div class="hinweis">Datei kommt vor in <a href="../index.php?article_id='.$article_id[$i].'&clang='.$clang[$i].'" target="_blank">Artikel ID: '.$article_id[$i].'</a></div>';
						
			// DB updaten
			$check_DB1 = rex_sql::factory();
			// $check_DB1->debugsql = 1;
			$check_DB1->setQuery('UPDATE '.$REX['TABLE_PREFIX'].'article_slice SET 
								  
				value1 	= REPLACE( value1 , "files/'.$old_file_name.'" , "files/'.$new_file_name.'"),
		 		value2 	= REPLACE( value2 , "files/'.$old_file_name.'" , "files/'.$new_file_name.'"),
		 		value3 	= REPLACE( value3 , "files/'.$old_file_name.'" , "files/'.$new_file_name.'"),
		 		value4 	= REPLACE( value4 , "files/'.$old_file_name.'" , "files/'.$new_file_name.'"),
		 		value5 	= REPLACE( value5 , "files/'.$old_file_name.'" , "files/'.$new_file_name.'"),
		 		value6 	= REPLACE( value6 , "files/'.$old_file_name.'" , "files/'.$new_file_name.'"),
		 		value7 	= REPLACE( value7 , "files/'.$old_file_name.'" , "files/'.$new_file_name.'"),
		 		value8 	= REPLACE( value8 , "files/'.$old_file_name.'" , "files/'.$new_file_name.'"),
		 		value9 	= REPLACE( value9 , "files/'.$old_file_name.'" , "files/'.$new_file_name.'"),
		 		value10 = REPLACE( value10 , "files/'.$old_file_name.'" , "files/'.$new_file_name.'"),
		 		value11	= REPLACE( value11 , "files/'.$old_file_name.'" , "files/'.$new_file_name.'"),
		 		value12	= REPLACE( value12 , "files/'.$old_file_name.'" , "files/'.$new_file_name.'"),
		 		value13 = REPLACE( value13 , "files/'.$old_file_name.'" , "files/'.$new_file_name.'"),
		 		value14 = REPLACE( value14 , "files/'.$old_file_name.'" , "files/'.$new_file_name.'"),
		 		value15 = REPLACE( value15 , "files/'.$old_file_name.'" , "files/'.$new_file_name.'"),
		 		value16 = REPLACE( value16 , "files/'.$old_file_name.'" , "files/'.$new_file_name.'"),
		 		value17 = REPLACE( value17 , "files/'.$old_file_name.'" , "files/'.$new_file_name.'"),
		 		value18 = REPLACE( value18 , "files/'.$old_file_name.'" , "files/'.$new_file_name.'"),
		 		value19 = REPLACE( value19 , "files/'.$old_file_name.'" , "files/'.$new_file_name.'"),
		 		value20 = REPLACE( value20 , "files/'.$old_file_name.'" , "files/'.$new_file_name.'"),
		 		
		  		file1 = REPLACE( file1 , "'.$old_file_name.'" , "'.$new_file_name.'" ),
		  		file2 = REPLACE( file2 , "'.$old_file_name.'" , "'.$new_file_name.'" ),
		  		file3 = REPLACE( file3 , "'.$old_file_name.'" , "'.$new_file_name.'" ),
		  		file4 = REPLACE( file4 , "'.$old_file_name.'" , "'.$new_file_name.'" ),
		  		file5 = REPLACE( file5 , "'.$old_file_name.'" , "'.$new_file_name.'" ),
		  		file6 = REPLACE( file6 , "'.$old_file_name.'" , "'.$new_file_name.'" ),
		  		file7 = REPLACE( file7 , "'.$old_file_name.'" , "'.$new_file_name.'" ),
		  		file8 = REPLACE( file8 , "'.$old_file_name.'" , "'.$new_file_name.'" ),
		  		file9 = REPLACE( file9 , "'.$old_file_name.'" , "'.$new_file_name.'" ),
		  		file10 = REPLACE( file10 , "'.$old_file_name.'" , "'.$new_file_name.'" ),
		
		  		filelist1 = REPLACE( filelist1,",'.$old_file_name.'",",'.$new_file_name.'") WHERE id="'.$slice_id[$i].'"
								  						  
			');
			
			// zweiter Check, falls an erster Stelle der filelist 
			$check_DB2 = rex_sql::factory();
			// $check_DB2->debugsql = 1;
			$check_DB2->setQuery('UPDATE '.$REX['TABLE_PREFIX'].'article_slice SET 
	
				filelist1 = REPLACE( filelist1,"'.$old_file_name.'","'.$new_file_name.'") WHERE filelist1 LIKE "'.$old_file_name.'%" AND id="'.$slice_id[$i].'"
								  						  
			');			
			
			// ----- Artikel neu generieren und Updatefields aktualisieren
	        $EA = rex_sql::factory();
	        $EA->setTable($REX['TABLE_PREFIX'] . 'article');
	        $EA->setWhere('id='. $article_id[$i] .' AND clang='. $clang[$i]);
	        $EA->addGlobalUpdateFields();
	        $EA->update();
	        rex_deleteCacheArticle($article_id[$i]);
	
	        rex_register_extension_point('ART_CONTENT_UPDATED', '',
	          array (
	            'id' => $article_id[$i],
	            'clang' => $clang[$i]
	          )
	        );
			
			$check_DB->next();

		}
		
		// ... und hoffen, das nichts zerschossen wird  ;)
		
		
			
	// ################ MODIFIKATION DATEI UMBENENNEN Ende #########################

		
        @chmod($REX['MEDIAFOLDER'].'/'. $FILEINFOS["filename"], $REX['FILEPERM']);
        $updated = true;

        .......... u.s.w. .....................

Funktioniert bisher gut!
Sicher kann man die Querys noch etwas eleganter verbinden, hab ich aber nicht hingekriegt.

Sieht hier jemand irgendwelche Probleme, die durch diese Erweiterung auftreten könnten?
Ich bin für jeden Kommentar dankbar!

Gruss
Frood

Ingo
Beiträge: 782
Registriert: 24. Jun 2010, 00:34

Re: INVALID: Medienpool datei aktualisieren Dateinname gleic

3. Okt 2012, 17:29

frood hat geschrieben:Sieht hier jemand irgendwelche Probleme, die durch diese Erweiterung auftreten könnten
Du meinst abgesehen von den Krachern, die du schon selbst reinkommentiert hast :mrgreen:

Ich würde diesen Ansatz an deiner Stelle nicht weiterverfolgen. Du versuchst ein nicht existierendes Problem mit einer konzeptionell löchrigen Core-Modifikation zu lösen.

Fall 1: verschiedene Versionen des gleichen Dokuments -> Austausch im Mediapool untauglich, kleines Addon schreiben, Table Manager nutzen was auch immer.

Fall 2: Blume ist kein Baum -> Austausch im Mediapool untauglich, da auch der Kontext des Bildes sich ändern muss. Es sei denn, das Bild hat rein dekorative Funktion, aber dann ist der Dateiname auch vollkommen egal.

Ich verstehe auch ehrlichgesagt nicht, warum es für den Redakteur unzumutbar sein soll, ein Bild in den jeweiligen Slices eben von Hand zu tauschen...

frood
Beiträge: 226
Registriert: 7. Okt 2008, 15:17

Re: INVALID: Medienpool datei aktualisieren Dateinname gleic

4. Okt 2012, 10:28

Hallo Ingo, schönen Dank für die Reaktion.
Du versuchst ein nicht existierendes Problem mit einer konzeptionell löchrigen Core-Modifikation zu lösen.
Wenn das Problem nicht existieren würde, hätte ich mir die Arbeit gespart. Es ist nunmal so, dass der Kundenauftrag lautet: "Der Dateiname soll sich ändern.", dann werde ich sicher nicht sagen: "Dann mach das doch selbst!" .... in diesem Fall ist es auch sinnvoll (s.u.)

Wo siehst Du die Löcher? (das war die eigentliche Frage ;) )
Fall 1: verschiedene Versionen des gleichen Dokuments -> Austausch im Mediapool untauglich, kleines Addon schreiben, Table Manager nutzen was auch immer.
Die Versionsgeschichte hatte ich ja schon verworfen, es geht nur noch um die Dateinamensänderung beim Austauschen.
Fall 2: Blume ist kein Baum -> Austausch im Mediapool untauglich, da auch der Kontext des Bildes sich ändern muss. Es sei denn, das Bild hat rein dekorative Funktion, aber dann ist der Dateiname auch vollkommen egal.
Bei Bildern bin ich Deiner Meinung, es geht hauptsächlich um PDFs, und zwar um Datenblätter, Broschüren, etc. diverser verschiedener PV-Händler, die auf einem Portal versammelt sind und die oft wechseln. Die Dateinamen müssen hier mit den Namen, die der Händler verwendet, übereinstimmen, und zwar nicht nur über Title oder Description, da sie auch direkt fremdverlinkt werden und falsche Dateiversionen hier nicht erreichbar sein dürfen.
Ich verstehe auch ehrlichgesagt nicht, warum es für den Redakteur unzumutbar sein soll, ein Bild in den jeweiligen Slices eben von Hand zu tauschen...
Wie gesagt, bei Bildern hast Du Recht, bei PDFs sieht das anders aus, da die PDFs nicht nur auf einer Seite verlinkt sind. Beispiel: eine Broschüre über ein Solarmodul, Version 09_2012 könnte zu finden sein auf der Seite "News" (jetzt neu: das blablabla ->PDF-Link), dann auf "Händler1->Broschüren", dann auf "Prospektbestellung" und vielleicht noch auf "Die Testsieger" oder sonstwo ....
Der Redakteur müsste also für jede Datei schauen, wo die Datei überall verlinkt ist (könnte man evtl. ein Suchscript scheiben), und dann bis zu vier verschiedene Seiten anfassen ... und das wäre unzumutbar:

- neue Datei hochladen
- Titel und Descr nochmal vergeben
- nochmal weitere meta-Parameter setzen
- schauen, wo, die Datei verlinkt ist
- alle Slices ändern und testen
- nochmal in den Medienpool und alte Datei löschen

... und das dreimal am Tag ??

Bleibt die Frage: Wo siehst Du die Löcher in der Modifikation?

Ingo
Beiträge: 782
Registriert: 24. Jun 2010, 00:34

Re: INVALID: Medienpool datei aktualisieren Dateinname gleic

4. Okt 2012, 12:04

// ###### meta-files werden noch nicht beruecksichtigt! ######
// ###### hier nur fuer filelist1, andere werden nicht verwendet! ######
// Suchen inkl. "files/" bzw. "," um Eindeutigkeit zu gewaehrleisten
// ( "%test.pdf%" wuerde auch in "zweitertest.pdf" gefunden )
Das meine ich mit löchrig. Und wenns um "Fremdverlinkungen" geht, taugt das mit dem heimlichen Austausch der Dateien so gar nicht - es sei denn der Austauschende weist jeden Fremdverlinkenden bei jedem Austausch darauf hin, dass der bisher aktuelle Link auf einmal tot ist.
Auch wenn ich wie ne kaputte Schallplatte klinge, sinnvoll wäre hier ein Addon, das jeder Broschüre eine eindeutige, sich nie ändernde ID zuweist. Dann kannst du über eine Funktion, die die ID als Parameter bekommt, das jeweils aktuelle PDF zurückgeben (auch mit dem jeweils aktuellen Dateinamen) - keine toten Links, keine falschen Broschüren. Das Löschen des alten Dokuments könntest du ebenfalls ins Addon einbauen, um auf Nummer sicher zu gehen.

frood
Beiträge: 226
Registriert: 7. Okt 2008, 15:17

Re: INVALID: Medienpool datei aktualisieren Dateinname gleic

4. Okt 2012, 12:52

Das meine ich mit löchrig.
... hab ich weggelassen, weil es für das betreffende Projekt (vorerst) nicht brauche. Und diese ganze Umbennennungsgeschichte ist nur für dieses eine Projekt.
es sei denn der Austauschende weist jeden Fremdverlinkenden bei jedem Austausch darauf hin, dass der bisher aktuelle Link auf einmal tot ist.
die PDF werden bei Zugriff per htaccess umgeleitet und per script geöffnet (wegen Dateischutz für einige gesperrte Dokumente), es kommt also nicht zu toten Links, sondern es gibt einen Hinweis dass die Datei veraltet ist und es werden Alternativen vorgeschlagen (die Namensstruktur gibt hier eine Ähnlichkeitssuche her).
sinnvoll wäre hier ein Addon
Kann sicher sein, aber zur Zeit habe ich keinen Bedarf an einer universellen Lösung und leider auch nicht die Zeit, ein Addon zu entwickeln. (Vielleicht machst Du das ja mal? ;) )

Gruss, Frood

Ingo
Beiträge: 782
Registriert: 24. Jun 2010, 00:34

Re: INVALID: Medienpool datei aktualisieren Dateinname gleic

4. Okt 2012, 13:16

frood hat geschrieben:Kann sicher sein, aber zur Zeit habe ich keinen Bedarf an einer universellen Lösung und leider auch nicht die Zeit, ein Addon zu entwickeln. (Vielleicht machst Du das ja mal? ;) )
Addons bieten dir die Möglichkeit, eigenen Code sauber gekapselt ins CMS zu integrieren. Im einfachsten Fall bindest du per Addon einfach nur eine Klasse oder Funktion ein - ohne Navigationspunkt, Dokumentation, Einstellungsmöglichkeiten etc. Will sagen: Addons ersparen dir Arbeit bei der Entwicklung.

Im aktuellen Fall hätte ich die PDFs über den Tablemanager verwaltet und ein einfachstes Addon gemacht, das mir aus der entsprechenden Datenbanktabelle via ID die PDFs/Metadaten zurückgibt. Also ne komplett un-universelle Programmierung.

Aber so wie du es gemacht hast gehts ja offensichtlich auch :)

frood
Beiträge: 226
Registriert: 7. Okt 2008, 15:17

Re: INVALID: Medienpool datei aktualisieren Dateinname gleic

4. Okt 2012, 13:32

... habe mich bisher noch nicht mit Addons und Extention Points beschäftigt, aber werde ich demnächst wohl mal machen, wenn die leidige Zeit es erlaubt.

Erstmal schönen Dank und schönen Gruss!

Zurück zu „Sonstiges“