Publish
App\Jobs\PublishIssue
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.