Php photo gallery TWG | JFUploader | TWG Flash upload | WFU | Forum

Get help for TinyWebGallery, the best image gallery. The forum is also home for the Joomla JFUploader, TWG Flash Uploader and the Wordpress flash uploader.
It is currently 22. Nov 2024, 23:55

This forum is readonly now. Please use the new forum if you don't find the answer to your question here. The new forum is at https://www.tinywebgallery.com/blog/forum/


All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 30 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: 18. Aug 2008, 11:12 
Offline

Joined: 18. Aug 2008, 10:41
Posts: 17
Zunächst einmal ein herzliches Hallo an alle, dies ist mein erster Beitrag bzw. viel mehr meine ersten Fragen:-)

Ich verwende auf meiner QNAP Turbostation TS-209 (NAS) den Webserver und habe dort die Fotogaleriesoftware TinyWebGallery.
Das ganze läuft soweit ganz gut, jedoch gibt es ein ganz extremes Performanceproblem bei der Erstellung des caches.

Normalerweise sollte die Erstellung von z.B 5000 Bildern fuer den Cache maximal einige Minuten in Anspruch nehmen (die Daten liegen alle auf der NAS: Zugriff innerhalb des LAN ueber 192.168.1.xx mittels Browser und dort auf die TinyWebgallery-AdminBereich und stosse dort an Cache erzeugen), tatsächlich aber werden pro Bild ca. 5-20 Sekunden gebraucht.
Bei mehreren tausend Bildern dauert es Tage bis die Erzeugung fertig ist...und wehe, man will mal was ändern, dann muss man den Cache wieder neu erzeugen...ist also leider nicht praktikabel für so ein Gerät.

Nun ist der Prozessor der NAS ja "nur" 200Mhz schnell, vermutlich ist alleine dies der Grund. Das howto wie man die performance steigern kann, habe ich schon gelesen, hat ein bisschen was gebracht, jedoch nicht für das erzeugen des caches.

Nun suche ich nach Lösungsmöglichkeiten, denn Prozessor auf der NAS aufbohren is nicht.....ideal wäre daher, ein Offlinetool zu haben, mit dem ich die Erstellung des caches auf einem schnellen Rechner durchführen könnte und dann den Cache einfach uploade.

Was ich ausserdem noch nicht gefunden habe ist eine einfache Möglichkeit wie ich alles was mit Cache usw. zu tun hat einfach abstellen kann.
Klingt vielleicht zu kompliziert....anders ausgedrückt....TinyWebGallery soll nix tun, es soll nix zählen, es soll nix cachen, es soll keine Vorschaubilder anzeigen usw. Einfach soweit es geht nichts tun was Rechenzeit benötigt. Es gibt nur das Verzeichnis/Album und darin sind die Bilder in ihrer vollen Grösse, so wie sie von der Digicam kommen und klickt ein User ein Album an so erscheinen die Dateinamen und ein Klick darauf zeigt das Bild an. Es soll also kein neues Bild erzeugt werden um in einen vorgefertigten Rahmen zu passen, das kostet wieder nur Rechenzeit....und macht das ganze langsam.
Gibt es solch einen "Super-Schalter" oder muss man tatsächlich an vielen Stellen etwas einstellen um das so hinzubekommen bzw. bekommt man es ueberhaupt hin?

Hmm...und noch eine Laienfrage...warum muss aus einem Bild von z.B. 2MB Groesse mit einer Aufloesung von z.B. 1280x800 ein neues Bild erstellt werden, damit es in den vorgefertigten Rahmen passt? Wuerde es nicht auch gehen, dass dieses Original-Bild einfach nur in einer verkleinerten Darstellung angezeigt wird anstatt ein neues Bild passender Grösse zu erzeugen? Ok...das kostet vermutlich wieder viel Rechenzeit - also wohl nix für meine NAS, aber interessiert mich ob es prinzipiell möglich ist-, aber hätte wiederum den Vorteil das man nicht wirklich einen Cache braucht und den somit nicht aufbauen/updaten muss und ausserdem Plattenplatz spart.

Danke für die hoffentlich eine oder andere Antwort und liebe Grüße - Claudio


Top
 Profile  
 
 Post subject:
PostPosted: 18. Aug 2008, 12:31 
Offline

Joined: 18. Aug 2008, 10:41
Posts: 17
Hallo,

Topic Nummer 3688 (ich kann keinen Link hier hinzufügen, da erhalte ich eine Fehlermeldung) beschreibt, dass es möglich ist den Cache auf einem anderen schnellen Rechner zu erzeugen und dann das Cache Verzeichnis einfach zu kopieren...hier bitet sich wohl eine einfaches WAMP samt TinyWebGallery an.

Muss auch das XML-Verzeichnis und vielleicht noch mehr kopiert werden?

Zu meinen anderen Fragen, konnte ich nach wie vor nichts finden und hoffe hier noch auf Antwort:-)

LG Claudio


Top
 Profile  
 
 Post subject:
PostPosted: 18. Aug 2008, 17:24 
Offline
Site Admin
User avatar

Joined: 1. Aug 2005, 12:53
Posts: 11232
Hi,

Du kannst den Cache einfach offline (z.B. xampp mit einer TWG installation) auf deinem lokalen Rechner erstellen und dann einfach den Cache Ordner rüberkopieren.

Ache abstellen würde dazu führen, das bei dir wahrscheinlich gar nichts mehr geht - weil dann würde TWG versuchen jedes Bild on the fly zu berechnen - was bei diranscheinend ja ewig dauert.

Bei den Thumbnails geht das gar nicht, weil damit die Galerie schnell wird, soll immer nur soviel übertragen werden wie notwendig. Und Bilder in voller Grösse zu übertragen ist Bandbreiten UND Qualitätsmäßig das schlechteste, was es gibt.

Bei den Detailbildern kannst du TWG sagen, dass die Bilder nur angepast werden, wenn Sie zu gross sind (per default werden zu kleine Bilder auch hochgerechnet).
Dann werden die Originalbilder verwendet.

Dafür must du
$resize_only_if_too_big=true;
setzen.

Wenn du die "Grosse Navigation" abschaltest und nur auf der Detailsseite bleibst (Somit keine Thumbnails benötigst) brauchst du auch quasi keinen Cache. Wenn du dann noch albumbilder (folder.png) verwendest und die Thumbnail seite abschaltest solltest du in Cache keine Bilder mehr haben.

/Michael


Top
 Profile  
 
 Post subject:
PostPosted: 18. Aug 2008, 20:38 
Offline

Joined: 18. Aug 2008, 10:41
Posts: 17
Hallo!

Zunächst einmal Danke für die wertvoellen Tipps!

Die "Grosse Navigation" schaltet man wohl ab, indem man per Admin-Menü "verstecken" auswählt.

Doch wie schaltet man die Thumbnail-Darstellung ab? Vielleicht $thumbnails_x und $thumbnails_y auf -1 setzen?
Und wie "bleibe" ich auf der Detailseite?

Zur Erstellung des Caches auf einem externen Rechner mittels WAMP habe ich doch noch ein unerwartetes Problem.

Dazu muss ich aber etwas ausholen...:-(

Da TWG in der aktuellen Version 1.7.4 das verwalten von Usern und Zugriff auf Alben nicht so sehr praktikabel implementiert hat (zumindest fuer meine Zwecke....wenn in private.txt nur die Benutzer oder gar Benutzergruppen stehen wuerden und in einem einzigen root-file die Benutzer samt Passwoerter, dann waere es einfacher und ich muesste einen Benutzer fuer alle die Alben die er sehen darf nur ein Passwort zusenden und einfach in jedem Album in der Datei private.txt seinen Benutzernamen hinzufügen...aktuell müsste ich in jeder private.txt mehrere Passwoerter hinterlegen und wehe ich will/muss das mal aendern...dann muss ich alle suchen....ist also nicht wirklich praktikabel auf Dauer...aber soll ja was neues geben in der 1.8, ich bin schon sehr gespannt darauf), habe ich mir ein Konzept überlegt wie ich mit den vorhandenen Mitteln bei möglichst wenig Aufwand das ganze ordentlich verwalten kann.

Dazu habe ich einfach pro Gruppe einen Ordner angelegt (unterhalb von pictures), z.B. familieXyz.
Dort habe ich eine root.txt (leer) und eine private.txt hinterlegt. Die/Der Gruppe/Benutzer bekommt nun per Email den Link und das Passwort.
Im Ordner selbst sind dann nur SymLinks auf die Unterverzeichnisse meiner Platte wo ich meine Bildersammlungen liegen habe.
Benutze ich das gleiche Album auch woanders, so ist nur der Symlink redundant aber es hat dann auch eine andere Gruppe (familieAbc als Unterordner in pictures mit eigenem private.txt und eben eigenen SymLinks) den Zugriff auf das Album mit eben deren Passwort.

Übrigens ist dieses Konzept aber nicht gut geeignet fuer den Cachehandler, denn der legt die Informationen redundant an....das gleiche Bild Bild1.jpg wird erzeugt im Cache mit familieXyz_Bild1.jpg und familieAbc_Bild1.jpg (symbolische Namensgebung...nicht exakt so wie der TWG-Cachehandler es macht, aber dürfte klar sein, wie ich es meine).

Und genau hier kommt jetzt mein Problem mit der Erstellung des Caches auf einem schnelleren externen Rechner.

Es ist ein Windows-PC und kein Linux-PC, hier gibt es keine SymLinks und somit kann ich kein genaues Abbild der TWG-Linuxumgebung machen und somit wird mir der Cachehandler die Dateien nicht korrekt benamsen und ergo dürfte das ganze nichts bringen.

Hab ich einen Denkfehler oder bin ich tatsächlich in einem ausweglosen Dilemma? Muss ich tatsächlich mir jetzt noch eine echte Linuxumgebung aufbauen um den Cache extern korrekt erzeugen zu können?

Ich hoffe mal, es gibt eine einfachere Möglichkeit:-)

Liebe Grüße - Claudio


Top
 Profile  
 
 Post subject:
PostPosted: 18. Aug 2008, 21:03 
Offline
Site Admin
User avatar

Joined: 1. Aug 2005, 12:53
Posts: 11232
Hi,

Ab 1.8 wird es auch die Möglichkeit geben, Benutzer ähnlich zu der private.txt zu nutzen. Wird aber noch dauern, bis es das gibt. Weil dazu werde ich auch das Backend um Gruppen erweitern.
Aber ob du einen Benutzer oder ein Passwort einfügst wird sich vom Aufwand her nicht wirklich was geben... Erst Gruppen helfen da weiter. Das wird es in 1.8 auch geben. Aber nicht extrem komplex. Weil sonst können es die Leute dann wieder nicht benutzen. Ich hab schon ein paar CMS gesehen, wo das einfach ausgeartet hat. Dazu muss ich mir erstmal ein paar Konzepte machen und diese auswerten.

Ähnliches wie Symlinks kannst du unter Windows auch herstellen. Such mal in Google danach. Gibs einige Tools.

Alles, was im Menü ist, kannst du auch in der config abschalten bzw. komplett ausblenden. eine Suche auf der Configseite bzw. in der config.php hilft da weiter ;).

mit $skip_thumbnail_page = true;

Kannst du die Thumbnailsseite ausblenden. Und mit

$disable_nav_sel=true;
und
$show_only_small_navigation = 'TRUE';

Wäre die große Navigation weg.

/Michael


Top
 Profile  
 
 Post subject:
PostPosted: 18. Aug 2008, 22:13 
Offline

Joined: 18. Aug 2008, 10:41
Posts: 17
Hallo!

Ich habe in der Zwischenzeit (noch vor deiner Antwort:-) bereits per Google festgestellt, das es unter Vista (welches ich einsetze) das Tool mklink gibt, das auch einen SymLink erzeugen kann..gesagt getan:-)

Aber - TWG scheint damit nicht klar zu kommen:-(

Hier meine Konfiguration:
- Vista (32Bit)
- WAMP (wampserver . com / en / index.php)
- TWG vom Linux-NAS kopiert ins WAMP www ausser cache und ausser pictures (weil die SymLink würden interpretiert als echte Verzeichnisse und so würden zig GB rueberwandern)
- Verzeichnis cache im twg unter wamp erstellt
- Verzeichnis pictures dito
- Nun unter pictures alle Verzeichnisse erstellt wie sie auch unter twg-linux-nas zu finden sind (famXyz, famAbc usw.)
- In jedem der erzeugten Unterverzeichnisse nun mklink aufgerufen und der Inhalt sieht im Total Commander nun exakt so aus wie auf dem Original-TWG auf der NAS...yuppie dachte ich, nun sollte es gehen...
Beispiel mit mklink: mklink /D "C:\LinkName" "X:\RealeQuelle"

Doch nach dem einloggen bei Vista-WAMP-TwgAdmin sehe ich beim Cachehandler, das dieser der Meinung ist er muesse nur 14 Bilder cachen....naemlich die Original-Beispielbilder die Du per Default mitlieferst und die ich auch noch drauf habe. Aber alle Verzeichnisse die mit mklink erstellt wurden, scheint er nicht zu erkennen.

Irgendeine Idee?

LG Claudio


Top
 Profile  
 
 Post subject:
PostPosted: 18. Aug 2008, 22:27 
Offline

Joined: 18. Aug 2008, 10:41
Posts: 17
Der TWG-Explorer zeigt den Linknamen an /../pictures/familieXyz/AlbumLinkErzeugtMitMkLink und als Typ zeigt er "Verzeichnis" an. Jedoch wenn ich es anklicke kommt:

"Fehler:
pictures/familieXyz/AlbumLinkErzeugtMitMkLink: Kann Verzeichnis nicht öffnen."

Der Link verweist auf meine NAS (verbunden ueber Netzwerkshare auf einen lokalen Laufwerksbuchstaben) und nicht auf eine lokale Platte...koennte dies das Problem sein? Ist dafuer eine Loesung bekannt?

Das Debug liefert folgendes:

"
08.18.2008 22:39:48 (en) - ERROR 2 in :\wamp\www\twg\inc\filefunctions.inc.php, line 2263: opendir(../pictures/familieAABBCC/AlbumLinkErzeugtMitMkLink) [<a href='function.opendir'>function.opendir</a>]: failed to open dir: No error
08.18.2008 22:43:36 (en) - ERROR 2 in wamp\www\twg\admin\_include\fun_list.php, line 108: opendir(C:\wamp\www\twg\pictures\familieXyz/AlbumLinkErzeugtMitMkLink) [<a href='function.opendir'>function.opendir</a>]: failed to open dir: No error
"

Hoffe es hilft weiter und es gibt eine Loesung:-)

LG Claudio


Top
 Profile  
 
 Post subject:
PostPosted: 18. Aug 2008, 22:36 
Offline
Site Admin
User avatar

Joined: 1. Aug 2005, 12:53
Posts: 11232
Denke nicht - Wenn php mit den Verzeichnissen nicht korrekt umgehen kann hab ich hier auch keine Möglichkeit was zu ändern.

Vor allem, wenn die Verzeichnisse dann nicht mehr im Bereich des webservers liegen. Links können dann im TWGXplorer nicht mehr gehen.

TWG selbst könnte noch gehen, aber direkt links gehen dann natürlich auf keinen Fall mehr. Und die brauchst du, wenn du den cache nicht benutzen willst.

Image magick kannst du noch installieren. Das ist deutlich performater als GD lib, welches mit php mitkommt. Must dann nur umstellen, das das benutzt wird. Gibts ein Howto dafür.

/Michael


Top
 Profile  
 
 Post subject:
PostPosted: 18. Aug 2008, 23:48 
Offline

Joined: 18. Aug 2008, 10:41
Posts: 17
hmmm...ich habe gerade noch ein anderes Problem festgestellt im TWG-Explorer:-( Und zwar auf meiner Original-Installation (Linux / NAS).
Rufe ich dort im TWG-Explorer einen SymLink auf (wie erwähnt einen echten unter Linux erzeugt und verweist auf einen Bereich der NAS-Festplatte), dann erhalte ich den Fehler:
"Fehler:
pictures/TstAlb1/MeinSymLink : Das aktuelle Verzeichnis darf nicht höher liegen als das Home-Verzeichnis."
Wieso das? Moeglicherweise ist das auch ein Grund fuer die geringe Performance...wenn eine Funktion "ewig" braucht und nicht ausgeführt werden kann und danach der Rest (was auch immer) weiterläuft und eben so nach und nach die Bilder fuer den Cache erstellt.

Hat nun tatsächlich PHP generell ein Problem mit SymLinks?? Das würde mich doch etwas wundern. Denn wenn auch extrem langsam so werden doch die Bilder auf der TWG-Endbenutzeroberfläche angezeigt...also funktioniert auch der Zugriff per SymLink auf ein ausserhalb des Webserver liegendes Verzeichnis.

In der apache.conf steht ja auch FollowSymLinks drinnen...von daher sollte es also passen.

Du hast es zwar schon beschrieben, das Ziel des Symlinks liegt ausserhalb des Webservers....aber wie zuvor erwähnt beim TWG-Explorer geht der Zugriff nicht auf der Weboberfläche selbst aber schon.

Ich koennte zwar die Bilder alle real unterhalb des pictures Verzeichnisses ablegen, jedoch muesste ich ja, um den cache extern zu erzeugen auch tatsächlich den ganzen Inhalt des pictures Verzeichnisses auf den schnellen Rechner kopieren, da es ja auch dort im Bereich des dort installierten WAMP-Webservers liegen muss (damit der TWG-Explorer und der TWG-Cachehandler es finden) und das ist dann nun wirklich absolut nicht mehr praktikabel....es geht hier um tausende von Bildern mit mehreren hundert Gigabyte (inkl. meinen Videos).

Puuhh...also ich hatte nicht erwartet, dass es solche Probleme geben würde und vermutlich dürfte an dieser Stelle Schluss sein, weil ich glaube kaum das es hierfür mit den normalen Mitteln eine praktikable Lösung geben wird....lasse mich natürlich gerne eines besseren belehren:-)

Daher komme ich noch einmal zurück auf die noch nicht vorhandene Möglichkeit den Cache manuell zu erzeugen ohne WAMP/PHP. Was wird denn letztlich gebraucht und wo ist die Funktionalität drinnen? Ist das nicht ein JAVA-Tool? Das könnte man vielleicht zu einer eigenständigen Anwendung ausbauen....ich schau mir das gerne mal an...wo muss ich denn schauen, welche Dateien sind relevant bzw. wird ausser JAVA noch etwas benötigt?

Oder vielleicht bekommen wir ja TWG-Explorer/Cachehandler doch noch zum laufen...weil wie schon erwähnt, ich sehe das der Zugriff per Symlink auf ausserhalb des Webserveres liegende Verzeichnisse und Dateien funktioniert, weil eben die Bilder angezeigt werden aber eben TWG-Explorer/Cachehandler nicht damit umgehen kann. Vielleicht also doch ein Bug? Was kann ich tun, um das herauszufinden?

LG Claudio


Top
 Profile  
 
 Post subject:
PostPosted: 19. Aug 2008, 07:34 
Offline
Site Admin
User avatar

Joined: 1. Aug 2005, 12:53
Posts: 11232
Ich weiss nicht, warum du den TWGExploxer die ganze Zeit willst. Den muss man doch überhaupt nicht verwenden. Dein Setup geht mit dem nicht und gut.

Und Java wird hier nirgends verwendet - wie kommst du den da drauf?

/Michael


Top
 Profile  
 
 Post subject:
PostPosted: 19. Aug 2008, 07:54 
Offline

Joined: 18. Aug 2008, 10:41
Posts: 17
sorry...meinte javascript.

Nein, Du hast mich missverstanden, ich will/brauche den TWG-Explorer nicht, nur weil der Probleme hat auf SymLinks zuzugreifen die ausserhalb des web-roots liegen, hatte ich angenommen, dass auch innerhalb der TWG-Anwendung es diese Probleme geben könnte und es daher zu einer Verlangsamung kommt (timeouts).....auch wenn in TWG selbst der Zugriff funktioniert.

Ich muss mich leider wiederholen, es geht nicht vordergründig um den TWG-Explorer, sondern um den TWG-Cachehandler, der offenbar das gleiche Problem hat wie der TWG-Explorer und eben die Symlinks (bzw. die mit MKLINK erstellten Symlinks unter Windows nicht auflösen kann und ich dadurch nicht auf dem schnellen Rechner den Cache produzieren kann (und ohn die Symlinks ist das ganze aufgrund mehreren hundert GB an Daten nicht zu handeln...ein hin- und herkopieren des gesamten Datenbestandes macht da wohl keinen Sinn mehr, selbst wenn genügend Plattenplatz vorhanden wäre).

Hierfür brauche ich die Lösung....der TWG-Explorer selbst ist mir egal:-)

Ich hoffe es ist klar geworden und vielleicht hast Du, oder jemand anderes, noch eine Lösungsmöglichkeit dafür bzw. einen Grund warum es nicht geht oder einen Tipp wie man den Grund finden kann....denn es muss ja einen geben und dann kann auch an einer Lösung dafür gearbeitet werden.

LG Claudio


Top
 Profile  
 
 Post subject:
PostPosted: 19. Aug 2008, 08:42 
Offline
Site Admin
User avatar

Joined: 1. Aug 2005, 12:53
Posts: 11232
Einen Cachehandler wie du ihn nennst gibt es nicht. Das Javascript im Backend ruft genau die gleiche URL wie im Frontend auf, wenn der Cache noch nicht erzeugt ist auf. Nur halt immer ein Bild nach dem anderen.

Du kannst quasi im Frontend durch die Galerien klicken - ist genau das selbe.
Nur da das Backend sich eben nicht um Passwortdateien kümmert.

Was passiert den an der Stellen, wo im Backend der Cache erzeugt werden soll?

/Michael


Top
 Profile  
 
 Post subject:
PostPosted: 19. Aug 2008, 08:58 
Offline

Joined: 18. Aug 2008, 10:41
Posts: 17
pictures/test/album1

album1 ist ein mit mklink erzeugter symbolischer link auf ein netzshare das über einen laufwerksbuchstaben verbunden ist (z.B. m:\ ist real \\mynas\mypics) und darunter gibt es dann die diversen alben wo meine realen bilder liegen; album1/meinurlaub1/bild1.jpg oder album1/meinurlaub2/bild99.jpg usw.

Wenn ich nun mit dem Windows-Dateimanager (oder jedem anderen Dateimanager) auf den mt mklink erstellten SymLInk zugreife, so wechselt er und ich sehe alle darunterliegenden Ordner und Dateien.

Der TWG-Cachehandler zeigt mir aber 0 Dateien an, er meint also da ist nichts, er hätte nichts zu cachen.
Erstelle ich einen echten Ordner statt einem mit mklink erzeugten, so erkennt er das Dateien zu cachen sind.

Er löst also einen mit mklink erzeugten Symlink nicht auf.

Und daher kann ich den Cache auf meinem lokalen Rechner nicht erstellen.

PHP ist 5.2.6 und Apache ist 2.2.8 (bzw. ich nute das WAMP..link ist weiter oben beschrieben). Der Installcheck zeigt alles OK an, einzig Display-Errors ist OFF.

Ich hoffe, dies hilft weiter.

LG Claudio


Top
 Profile  
 
 Post subject:
PostPosted: 19. Aug 2008, 09:18 
Offline
Site Admin
User avatar

Joined: 1. Aug 2005, 12:53
Posts: 11232
es gibt die funktion gen_cache_body in inc/filefunctions.inc.php.

Da müstest du selber schauen, warum die Dateien nicht gefunden werden.

/Michael


Top
 Profile  
 
 Post subject:
PostPosted: 19. Aug 2008, 10:31 
Offline

Joined: 18. Aug 2008, 10:41
Posts: 17
Danke! Ich schaue es mir heute Abend an.
LG Claudio


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 30 posts ]  Go to page 1, 2  Next

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: No registered users and 46 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
cron
powered by phpbb | Datenschutz/ Privacy policy