Overview
Api

m10.png
Debug
Let op dat debug een Ip scope heeft, dit houd in dat jouw ip in de whitelist
moet staan voordat je sommige onderstaande debuggers mag gebruiken. De whitelist
is te vinden in de src/Maglr/Frontend/Session.php.
URL Commands:
Secure (admin eyes only)
/debug: De uitgespuugde data vanuit de Maglr-api RAW-data zonder aanraking van php./debug/error: Heb bekijken van hoe de html van verschillende error pagina's eruit ziet./debug/info: Gegevens over de server zoals memory usage etc (CMS DashboardMonitor)./debug/trigger: De errorhandler triggeren met de betreffend syntax error./debug/cache: Laat zien welke files er in de cache staan./debug/cache/clear: Verwijderd alle caching op 1 na de domainGlobals.?debug=api: Alias voor /debug maar gaat wel voorbij de Validator.php (alleen magazines).?debug=true: Hierbij zal je linecode terug krijgen bij error zoals#500 ERROR_UNKNOWN, hierdoor kun je makkelijk zie op welke regel hij stopt.?debug=render: Data die InterfaceBuilder in gaat om de interface settings etc neer te zetten.?debug=front: Data die de mustache van de pagina zelf in gaat de uiteindelijk te serveren html./session: Hier kun je zien wat er op het moment in je sessie staat./s/pdf/create/[issue_id]: Maakt een hash aan om een mogelijk pdf te maken van een issue.
SuperSecure (server eyes only *curl)
/s/api/ssl/create/[DOMEIN]: Het aanvragen van een let's encrypt https/ssl certificate voor een domein met de correct cname instellingen./s/api/ssl/remove/[DOMEIN]: Het weghalen van een custom/s/api/cache/flush/global: Leeg gooien van de globale cache hier staan alle mogelijke domeinen + legacy settings in.- (deprecated)
/s/api/cache/flush/domains: Leeg gooien van de domein-cache hier staan alle mogelijke settings domein specifiek zoals Frontend.json in. /s/api/cache/flush/client/[CLIENT_ID]: Flush op basis van redis tag client_id/s/api/cache/flush/issue/[ISSUE_ID]: (deze call is nog niet aangesloten) Flush op basis van issue_Id/s/api/cache/flush/embeds?hashes=[HASH,HASH]: Lijst met hashes van embed die gepurged moeten worden/s/api/cache/flush/assetsversions: Versienummer van de advanced-assets leeg gooien na een deploy/s/api/cache/flush/frontendversion: Versienummer van de frontend-js na een deploy
None_secure
/sitemap.xml: Zoals naam al zegt hierbij krijg je de sitemap van je magazine/ website terug./clear: Dit verwijderd de sessie./nl_NL/data: Hierbij krijg je de geoutput data terug nadat hij de volledige validator heeft doorlopen./robot.txt: Settings om search engines de website te laten crawlen.[$webmaster_key]: Google Analytics webmaster key voor het valideren van site.?inline: Geef hier 'true' mee om alles inline te zetten OF geef 'first' mee om de eerste keer met php te renderen en de rest iframes.?source=min: Daar alle code in de minified optimized why.?source=source: Frontend code is leesbaar met consoles logs?source=debug: Zelfde als source + alle advanced spreads krijgen leesbaar controller + ook logs?disable=tag_manager: Om snel dingen uit te kunnen sluiten of externe scripts problemen veroorzaken kun je met disable verschillende externe componenten uit schakelen bijvoorbeeld google tag_manager/s/pdf/issue/[hash]: Creëer een taak om een pdf van een specifiek issue te maken er wordt een taak in de socket-server ingeschoten/s/pdf/get: De call is eigenlijk niet los van de '/issue' call op te roepen, maar zal de pdf uiteindelijk returnen/s/api/meta/[issue_id]/[spread_id]: Api call om te correct meta data op te halen van gegeven issue / spread.
Debugging
- Debuggen van nieuwe url in je console kun je
window.minfoaanroepen om relevante spread_id / issue_id / client_id op te vragen. - Snelheid van pagina kan je zien in
window._MPerformance
ES6 build
- Ga naar
Project frontend-js - Pre-build voor developen
npm install - Draai
npm run watchofnpm run debugvoor debug (?source=source) watch zal-wtoevoegen voor automatische build on changes - Optional
webpack -wkan je ook draaien als je webpack global (Beter om via npm run te draaien) - Draai
npm run build-webpackvoor de minified & production bundle - Draai
npm version prereleasevoor minified production build met versions bump - Of
webpack --config=webpack.production.config.jsvoor de minified & production bundle
Inverse color op element
- voeg data-color-check toe met als waarde het element dat hij moet inverse:
<div data-color-check="sidepanel-menu">
Voeg direct link toe
- geef de reference link als {LINK} mee:
postMessage({message: 'reference_link', link: '{LINK}'}, '*')
Analytics tracking on element click
- Track data op element moet minimaal
data-ga-category&ga-key-actionhebben om click af te vangen: - STRICT
data-ga-categoryExample {Link, Audio, Popup, etc} - STRICT
data-ga-actionExample {Closed, Play, Interface, etc} - OPTIONEEL
data-ga-labelExample {New audio:(ISSUE|SPREAD), http://l, etc} - OPTIONEEL
data-ga-valueExample {10, 200, 300, etc} //not really used
<div
data-ga-category="interface"
data-ga-action="sidemenu"
data-ga-label="close"
data-ga-value="100"
>
Analytics tracking on element click shorthand
- of gebruik de shorthand
data-ga-short="category|action|label|value"de ook hier moet je minimaal category & action meegeven.
<div data-ga-short="interface|sidemenu|close|100" >
External elements controls listing toevoegen
- Bij de storyMode is het mogelijk om externe element zoals
hide-on-homepagete laten verdwijnen op de homepagina:
let element = document.querySelector('.hide-on-homepage');
addControlMainElement(element);
Additional HTML snippets
Create customtab
Wanneer je extra tab wil toevoegen (max 2) zal moeten wachten tot SidemenuLoaded event
<script id="customtab">
window.addEventListener('SidemenuLoaded' , function() {
window.injectMenuItem('renault', '<div>HTMLHIER</div>')
});
</script>
FrontendReady listener
Wanneer je gebruik wilt maken van jquery FrontendReady event
<script id="customHTML">
window.addEventListener('FrontendReady' , function() {
$(SELECTOR).html('OWNCODEHERE');
});
</script>
Client Cookie consent
update status
Snippet waarmee de klant een event kan dispatchen die wij opvangen om de consent keuze binnen ons systeem kenbaar te maken. Moet ook gedaan worden als de keuze al bekend is bij de klant.
<script>
//document.dispatchEvent(new CustomEvent("MaglrCustomCookieConsent", {detail:{consented:true}}))
</script>
trigger client consent adapter
Snippet voor het aansluiten van de trigger van de cookie consent van de klant.
<script>
document.addEventListener("MaglrRequestShowCookieConsent", function(){
//add code here to trigger the client cookie consent
});
</script>
Custom Tracking adapter
Snippet voor de adapter tussen ons systeem en het tracking (analytics/GTM) systeem van de klant
<script>
window.dataLayer = {
push: function(data){
//csAnalytics.executePageview({url: data.maglrPageUrl})
}
}
</script>
TODO
- Werking / logica ophalen publicatie / domein / redis
- Mustache / settings
- Hoofddomein
- Filters
- Limitaties op issues weergeven
Preview
- Preview flow
URL variaties
- Algemeen
- Link naar spread
- Single page
- Embed
- Personal link (mailer)
- Oud (print) flow
Beveiliging
- Hash link issue
- Hash login domein
- Wachtwoord issue
- SSO flow domein
- IP check domein