Page 1 of 1

Melding bij gebruik cache_remote

Posted: Wed Feb 28, 2018 8:57 am
by Gregor
Zag de volgende melding bij het gebruik van cache_remote langs komen:
Sorry, something has gone wrong. Please contact a site administrator. (CMSMS\Database\DatabaseConnectionException)
De tag:

Code: Select all

{cache_remote_file url='https://www.uisge-beatha.eu/index.php?page=cache_googletranslate_2'}
In "cache_googletranslate_2 staat:

Code: Select all

<__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?

Re: Melding bij gebruik cache_remote

Posted: Wed Feb 28, 2018 9:00 am
by Rolf
De {cache_remote_file} doet geen database acties... waarom verdenk je deze tag?

Re: Melding bij gebruik cache_remote

Posted: Wed Feb 28, 2018 9:38 am
by velden
En begrijp ik nou goed dat de pagina die je cachet zichzelf moet cachen?

Re: Melding bij gebruik cache_remote

Posted: Wed Feb 28, 2018 9:53 am
by Gregor
Rolf wrote: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.

Re: Melding bij gebruik cache_remote

Posted: Wed Feb 28, 2018 9:55 am
by Gregor
velden wrote:En begrijp ik nou goed dat de pagina die je cachet zichzelf moet cachen?
Bij het kopiëren overheen gelezen. Moet zijn:

Code: Select all

<__script__ src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></__script>
In originele post aangepast.

Re: Melding bij gebruik cache_remote

Posted: Tue Mar 20, 2018 2:39 pm
by HarmO
Misschien een late reactie,

Code: Select all

{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: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.

Re: Melding bij gebruik cache_remote

Posted: Wed Mar 21, 2018 5:45 am
by Gregor
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?

Re: Melding bij gebruik cache_remote

Posted: Mon Mar 26, 2018 8:05 am
by HarmO
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: viewtopic.php?f=52&t=71952

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

suc6

Re: Melding bij gebruik cache_remote

Posted: Mon Mar 26, 2018 9:34 am
by Gregor
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:

Code: Select all

{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>

Re: Melding bij gebruik cache_remote

Posted: Mon Mar 26, 2018 1:00 pm
by Gregor
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.

Re: Melding bij gebruik cache_remote

Posted: Mon Mar 26, 2018 1:05 pm
by velden
Klopt het dan de pagina die je aanroept
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.ph ... b]test-pin[/b]"}
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.

Re: Melding bij gebruik cache_remote

Posted: Mon Mar 26, 2018 1:10 pm
by Gregor
velden wrote: 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.

Re: Melding bij gebruik cache_remote

Posted: Thu Mar 29, 2018 1:51 pm
by 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.

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

Code: Select all

{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>

Re: Melding bij gebruik cache_remote

Posted: Thu Mar 29, 2018 9:06 pm
by Gregor
HarmO wrote: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 wrote: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

Code: Select all

{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.

Re: Melding bij gebruik cache_remote

Posted: Tue Apr 03, 2018 8:20 am
by HarmO
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.
...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:

Code: Select all

{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!