CMS Made Simple Forums
https://forum.cmsmadesimple.org/

Melding bij gebruik cache_remote
https://forum.cmsmadesimple.org/viewtopic.php?f=13&t=78008
Page 1 of 1

Author:  Gregor [ Wed Feb 28, 2018 8:57 am ]
Post subject:  Melding bij gebruik cache_remote

Zag de volgende melding bij het gebruik van cache_remote langs komen:
\$1:
Sorry, something has gone wrong. Please contact a site administrator. (CMSMS\Database\DatabaseConnectionException)


De tag:
\$1:
{cache_remote_file url='https://www.uisge-beatha.eu/index.php?page=cache_googletranslate_2'}


In "cache_googletranslate_2 staat:
\$1:
<__script__ src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></__script>


In de blanco template die aan bovenstaande template is gekoppeld, staat alleen {content}

Iemand een idee?

Author:  Rolf [ Wed Feb 28, 2018 9:00 am ]
Post subject:  Re: Melding bij gebruik cache_remote

De {cache_remote_file} doet geen database acties... waarom verdenk je deze tag?

Author:  velden [ Wed Feb 28, 2018 9:38 am ]
Post subject:  Re: Melding bij gebruik cache_remote

En begrijp ik nou goed dat de pagina die je cachet zichzelf moet cachen?

Author:  Gregor [ Wed Feb 28, 2018 9:53 am ]
Post subject:  Re: Melding bij gebruik cache_remote

Rolf \Rolf:
De {cache_remote_file} doet geen database acties... waarom verdenk je deze tag?
testje gedaan toen deze er wel en niet meer stond; dat waren ook de momenten dat er wel een geen melding stond.

Author:  Gregor [ Wed Feb 28, 2018 9:55 am ]
Post subject:  Re: Melding bij gebruik cache_remote

velden \velden:
En begrijp ik nou goed dat de pagina die je cachet zichzelf moet cachen?
Bij het kopiëren overheen gelezen. Moet zijn:
\$1:
<__script__ src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></__script>


In originele post aangepast.

Author:  HarmO [ Tue Mar 20, 2018 2:39 pm ]
Post subject:  Re: Melding bij gebruik cache_remote

Misschien een late reactie,

\$1:
{cache_remote_file url='https://www.uisge-beatha.eu/index.php?page=cache_googletranslate_2'}


maar waarom zou je een pagina van je eigen website gaan cachen met remote cache?

De functie is gemaakt om een file van op een andere site te halen en in het cache geheugen van de CMS te steken. interessant voor het laden van json, xml, RSS of html files waar je vervolgens informatie uit haalt en verwerkt in je template.

Ik heb dit zelf reed gebruikt gehad voor die doeleinden:https://forum.cmsmadesimple.org/viewtopic.php?f=52&t=71952

Maar het is niet nodig om een externe javascript bibliotheek in je websites cache te steken... want je CMS doet niets met deze file.
je moet enkel de javascript tag in je template plaatsen. enventueel kan je de BROWSER cache dan beïnvloeden via .htaccess.

Author:  Gregor [ Wed Mar 21, 2018 5:45 am ]
Post subject:  Re: Melding bij gebruik cache_remote

Dank je HarmO.

Het aanroepen van een file vanaf de eigen website was puur om te plugin te proberen.

Waar het voor nu om gaat, is de foutmelding die wordt gegeven; er worden door de plugin geen database acties gedaan en toch verschijnt er bij mij een melding die iets zegt over een database actie.

Krijg jij foutmeldingen bij het gebruik van de plugin?

Author:  HarmO [ Mon Mar 26, 2018 8:05 am ]
Post subject:  Re: Melding bij gebruik cache_remote

Neen, hier geen fout meldingen.

Maar jij roept een CMSpagina van je eigen website op. Om deze pagina te gegereren gaat je CMS wel database opzoekingen doen...

Probeer is met een statische json of rss file, eventueel vanop een andere website.
Bijvoorbeeld http://vimeo.com/api/v2/channel/724855/videos.xml geeft je een XML file met informatie over enkele video's met bijhorende informatie en links voor thumbnails.

die informatie kan je dan verwerken tot inhoud zoals op dit voorbeeld https://www.derbigum.nl/downloads#Documents9
voorbeeld code voor de verwerking: https://forum.cmsmadesimple.org/viewtopic.php?f=52&t=71952

Als dat lukt heb je een goed idee waarvoor deze module dient.

suc6

Author:  Gregor [ Mon Mar 26, 2018 9:34 am ]
Post subject:  Re: Melding bij gebruik cache_remote

Dank je HarmO.

Ik heb je code in een template gezet en hoewel ik geen video's zie, wel de opsomming zie, krijg ik geen DB-foutmeldingen. Misschien gaat het inderdaad mis op files die op de eigen swerver van de site staan. Misschien kan de ontwikkelaar hier zijn licht over laten schijnen ;)

Code die ik in de template van de pagina heb geplaatst is:
\$1:
{capture assign=xmlfeed}{cache_remote_file url="http://vimeo.com/api/v2/channel/724855/videos.xml"}{/capture}

<ul class='vimeovids'>
{foreach from=$xmlfeed|@simplexml_load_string item=vid}
   {foreach from=$xmlfeed item=vid}
   <li>{$vid|@print_r}</li>
{/foreach}
</ul>

Author:  Gregor [ Mon Mar 26, 2018 1:00 pm ]
Post subject:  Re: Melding bij gebruik cache_remote

Even wat geëxperimenteerd en zie het lukt om de foutmelding te genereren. Ik heb drie pagina's gemaakt om cache_remote te gebruiken. Op twee van de drie cache-pagina's gaat het goed. De pagina waar het niet goed voor gaat, daar heb ik in afwisseling geprobeerd of ik de fout kan reproduceren. En dat lukt.

Stappen gedaan op de pagina waarmee de foutmelding verschijnt:
1. in de design manager een lege template (cache_template) gemaakt met daarin {content}.
2. in de content manager een pagina (test-pin) aangemaakt als beschreven in de help van de tag, deze gekoppeld aan de template die in stap 1 is gemaakt en in de pagina (zonder WYSIWYG) de volgende code geplaatst:
<__script__ async src="//assets.pinterest.com/js/pinit.js"></__script>
3. vervolgens de aanroep
{cache_remote_file url="https://www.cmscanbesimple.com/index.php?page=test-pin"}
-----> nu volgt op de pagina van de site links onderin de foutmelding:
Sorry, something has gone wrong. Please contact a site administrator. (CMSMS\Database\DatabaseConnectionException)

Vervang de in stap 3 geplaatst tag met:
<__script__ async src="//assets.pinterest.com/js/pinit.js"></__script>
dan is de foutmelding verdwenen. Het maakt overigens niet uit of er http(s): aan url wordt toegevoegd.

Author:  velden [ Mon Mar 26, 2018 1:05 pm ]
Post subject:  Re: Melding bij gebruik cache_remote

Klopt het dan de pagina die je aanroept

\$1:
2. in de content manager een pagina (test-pin) aangemaakt als beschreven in de help van de tag, deze gekoppeld aan de template die in stap 1 is gemaakt en in de pagina (zonder WYSIWYG) de volgende code geplaatst:
<__script__ async src="//assets.pinterest.com/js/pinit.js"></__script>
3. vervolgens de aanroep
{cache_remote_file url="https://www.cmscanbesimple.com/index.php?page=test-pin"}


Klopt het nu dat in die pagina 'test-pin' tevens de cache_remote_file tag staat? Dus dat hij zichzelf moet gaan cachen (recursive loop). Ik kan me voorstellen dat dat een limiet op de database connecties triggert.

Author:  Gregor [ Mon Mar 26, 2018 1:10 pm ]
Post subject:  Re: Melding bij gebruik cache_remote

velden \velden:
Klopt het nu dat in die pagina 'test-pin' tevens de cache_remote_file tag staat? Dus dat hij zichzelf moet gaan cachen (recursive loop). Ik kan me voorstellen dat dat een limiet op de database connecties triggert.

Nee, de pagina test-pin heeft alleen de <__script__.....</__script> code staan. Die recursieve loop was ook mijn eerste gedachte, maar daar lijkt het niet op.

Author:  HarmO [ Thu Mar 29, 2018 1:51 pm ]
Post subject:  Re: Melding bij gebruik cache_remote

Ik snap nog steeds de redenering niet om een pagina van je eigen website te gaan remote cachen, zeker niet om enkel een scrip-tag te plaatsen op je pagina.

In het voorbeeld met de video's dat je gebruikt hebt kan je de code nog verder uitwerken. {$vid|print_r} print enkel alle waarden uit die in de variabele $vid zitten. Je kan die waarden dan ook gaan gebruiken om je template me op te bouwen zoals in onderstaand voorbeeld
\$1:
{capture assign=xmlfeed}{cache_remote_file url="http://vimeo.com/api/v2/channel/724855/videos.xml"}{/capture}
<ul class='vimeovids'>
{foreach from=$xmlfeed|@simplexml_load_string item=vid}
   <li>
      <a href="{$vid->url}" target="_blank">
         <img src="{$vid->thumbnail_medium}" alt="{$vid->title}">
         {$vid->title}
      </a>
</li>
{/foreach}
</ul>

Author:  Gregor [ Thu Mar 29, 2018 9:06 pm ]
Post subject:  Re: Melding bij gebruik cache_remote

HarmO \HarmO:
Ik snap nog steeds de redenering niet om een pagina van je eigen website te gaan remote cachen, zeker niet om enkel een scrip-tag te plaatsen op je pagina.
Idee om de externe content vanaf de eigen "cache" te laden dan het vanaf een andere site te laden.

HarmO \HarmO:
In het voorbeeld met de video's dat je gebruikt hebt kan je de code nog verder uitwerken. {$vid|print_r} print enkel alle waarden uit die in de variabele $vid zitten. Je kan die waarden dan ook gaan gebruiken om je template me op te bouwen zoals in onderstaand voorbeeld
\$1:
{capture assign=xmlfeed}{cache_remote_file url="http://vimeo.com/api/v2/channel/724855/videos.xml"}{/capture}
<ul class='vimeovids'>
{foreach from=$xmlfeed|@simplexml_load_string item=vid}
   <li>
      <a href="{$vid->url}" target="_blank">
         <img src="{$vid->thumbnail_medium}" alt="{$vid->title}">
         {$vid->title}
      </a>
</li>
{/foreach}
</ul>
Dank je. Je zou jouw voorbeeld met GCSI kunnen uitbreiden voor een efficiëntere laadtijd.

Author:  HarmO [ Tue Apr 03, 2018 8:20 am ]
Post subject:  Re: Melding bij gebruik cache_remote

\$1:
Je zou jouw voorbeeld met GCSI kunnen uitbreiden voor een efficiëntere laadtijd.

Inderdaad, Je kan de afbeeldingen ook me CG Simple Image gaan verwerken en vervolgens serveren van je eigen server. Efficientere laad tijden is af te wachten. afhankelijk van hosting tot hosting.

\$1:
...om de externe content vanaf de eigen "cache" te laden..

Ok, ik snap je redenering: je wenst het script via je eigen website in te serveren, niet van een extern domein.

Maar dan moet je geen remote cache doen van de script tag, want de script-tag geeft in je voorbeeld enkel aan de browser weer waar hij het script kan vinden.

je kan wel de url van de script tag gaan cachen maar de vraag is of dit veel sneller zal zijn, de scipts worden nu namelijk geladen via de google CDN (content delivery network).

Swat, de code voor het cachen zal dan eerder iets in deze stijl zijn:

\$1:
{capture assign=remotescript}{cache_remote_file url="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"}{/capture}
<__script__>{$remotescript}</__script>

Opmerkingen:
  1. Code niet getest
  2. Script staat nu in de HTML-code van je pagina
  3. Kan incompatibiliteit opleveren met bestaande JS-bibliotheken denk ik.

Suc6!

Page 1 of 1 All times are UTC
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/