Skip to main content

Publish

App\Jobs\PublishIssue

https://tinyurl.com/4yau5zjk

Variaties

Publish wordt al taak ingeschoten in job tabel en vervolgens

5 - Publish

Default publish voor reguliere live publicaties (reguliere taak voor live publicaties)

7 - Publish (print)

Aparte publish flow voor de print publicaties (deprecated). Nog deels gebruikt, maar gaat er binnenkort uit.

11 - Export (Backup USB)

App\Jobs\PublishExport AllExportHandler

  • Publiceert eerst issue
  • In de window.downloaded JS plaatsen we een flag dat het om een versie gaat die is gedownload. Frontend JS reageert hierop met functionaliteiten. Op dit moment gebruiken we de offline controller.
  • Render versie met index.html waar alle JS spreads in de header (vooraf) worden ingeladen. Hierdoor krijg je geen CORS errors. Voor grotere publicaties worden er wel meer JS files in geheugen geladen.
  • URL wijzigt niet bij navigeren naar andere pagina, blijft altijd index.html
  • Kopieer alles naar /export folder in generateddata/issue map
  • Genereer een ZIP
  • Let op, content-gates werken niet in deze versie

12 - Dynamic (DECRECATED)

DynamicExportHandler

  • Deze versie laadde de JS files variabel vooruit. Is vervangen met versie 16.

13 - Export native (iPad)

NativeScriptExportHandler

  • Publiceert eerst issue
  • Net als de USB (11) versie start deze versie met een index.html
  • Er wordt een aparte JS toegevoegd voor iPad
  • Bestanden worden niet naar /export maar naar /native map gepubliceerd

14 - FTP Sync - Werkt alleen op server

App\Jobs\PublishFtp

FTPExportHandler -> Functie

  • Publiceert eerst issue
  • Maakt een bundle met dezelfde settings als versie 15
  • Kopieer alles naar /export folder in generateddata/issue map
  • Synced de bundle via FTP

15 - FTP (Server export issue/pagename -> HTACCESS / WEBCONFIG) - Werkt alleen op server

App\Jobs\PublishFtp ServerExportHandler

Each page is additionally rendered as static HTML. In addition, in between updates in the URL structure are automatically redirected to the new page (.htaccess web server support required). URL structure same as live version / edition / name page.

  • Publiceert eerst issue
  • Maakt voor iedere pagina een HTML-bestand
  • bij openen zorgt een url_rewrite ervoor dat pagina.html kan worden omgezet naar url structuur /issue/naam
  • Pagina's worden dynamisch vooruit geladen
  • Maakt een webconfig en htaccess met daarin alle redirect van oude URL's
  • Maakt een sitemap en robots.txt aan
  • Kopieert alles naar /export folder in generateddata/issue map
  • Maakt een ZIP

16 - FTP - (Server export issue/pagina.html) - Werkt alleen op server

App\Jobs\PublishFtp ServerExportHandler

-> Deze versie lijkt op 15, maar keep_html is true. Hiermee bedoelen we dat de naam van de file (pagina.html) in de url blijft staan en niet via htaccess/url-rewrite wordt aangepast. Voor versie 16 is dan ook geen htaccess of webconfig vereist. Nadeel van deze versie is dat de URL-structuur statisch is. Indien de pagina-naam.html in de toekomst wijzigt, krijgen oud gedeelde of geïndexeerde links een 404 error.

Each page is additionally rendered as static HTML. Search engines without JavaScript support are also able to index the content. URL structure changes and an extra .html extension is added to the URL, example: /edition/name-page.html

  • Publiceert eerst issue
  • Maakt voor iedere pagina een HTML-bestand
  • andere url structuur /issue/naam.html
  • Pagina's worden dynamisch vooruit geladen
  • Kopieert alles naar /export folder in generateddata/issue map
  • Maakt een ZIP

URL Controller

Frontend controller checkt op window.data_domain, zodra deze var niet is gevuld, dan is het project downloaded en dan komt frontend in de Offlinecontroller (dan heb je geen URL-controller wat de URL's bij bladeren veranderd. Dit is niet het geval bij versie 14, 15 en 16, hier wordt de URL-controller wel gezet.

functionaliteiten

Overzicht met functies met onderdeel:

Type spreads

Er bestaan twee soort spreads namelijk Pro en Template pagina's. Publiceren loopt twee verschillende routes om deze pagina's te publiceren

zie PublichApi->startRender

Caching

Rendering

Purging / Issue.json

Arguments

force zorgt ervoor dat de hele issue opnieuw wordt gegeneerd

template_debug oude manier van debuggen van template javascript

Absolute / Relative

Publiceren maakt twee html files een met absolute path en een met een relative path.