SlideShare a Scribd company logo
1 of 38
Een centraal
Documentatiesysteem met
TYPO3
Bart Dubelaar
6 November 2012
Agenda

•    Logica
•    SKF
•    De opdracht
•    Systeemcontext
•    Aanpak
•  Implementatie
•  Resultaat




© Logica 2012. All rights reserved   No. 2
Logica TSE
Logica Technical Software Engineering

•  Logica onlangs overgenomen door het Canadese CGI

•  Nu 76.000 werknemers wereldwijd, 4.500 in Nederland

•  Technical Software Engineering: 250 man in Nederland

•  Software ontwikkeling in verschillende technische velden




© Logica 2012. All rights reserved                            No. 4
Logica Technical Software Engineering

       High                          Space   Smart mobility     Modelling,
    Monitoring                                                  Modelling,
    integrity,                                                visualization
        &                            Space     Embedded       visualization &
   monitoring                                                   &Geo ICT
                                                                  Geo ICT
      Control                                   Systems
   and control




© Logica 2012. All rights reserved                                              No. 5
SKF - Svenska Kullagerfabriken

•  Grootste kogellagerfabrikant ter wereld
•  Niet alleen kogellagers, ook mechatronica, smeermiddelen en
   afdichtingen.
•  Opgericht in 1907, ooit moederbedrijf van Volvo
•  44.500 werknemers wereldwijd
•  Hoofdkantoor in Göteborg Zweden
•  Engineering & Research Center in Nieuwegein




© Logica 2012. All rights reserved                               No. 7
SKF Simulation Tools


                                                  CAD models of customer




                                     SKF simulation models




© Logica 2012. All rights reserved                                         No. 8
SKF Simulation Tools




© Logica 2012. All rights reserved   No. 9
De opdracht
De opdracht

•  Help & documentatie geïntegreerd in de simulatiesoftware
•  Centraal te beheren
•  Beschikbare documentatie dynamisch afgestemd op gebruikersprofiel
   van de gebruiker
•  Separate documentatie per software release branch
•  Workflow met content approval procedure
•  Context sensitive help
•  Meertalig
•  Zoekfunctionaliteit, dynamisch afgestemd op niveau van toegang
•  Authenticatie tegen software license server
•  Ondersteuning van LaTex formules & embedded video's
© Logica 2012. All rights reserved                                  No. 11
Documentatie dynamisch afgestemd op
gebruikersprofiel van de gebruiker

•  Software heeft 1000+ features
•  Elke gebruiker een profiel met unieke combinatie van features
•  Verschillende documentatie per softwareversie
•  Pagina en content access control op:                   Page

   •  Feature                                        Content element

   •  Versie

   •  Gebruikersgroep (SKF afdelingen)               Content element

•  Zoekfunctie die content access
   respecteert                                 Accessible only by: feature X
                                                     Content element




© Logica 2012. All rights reserved                                             No. 12
Separate documentatie per software
release branch



   • Versioning in 3 dimensies:
      •  Draft versioning                     Vertaling



      •  Talen

      •  SKF Software versies


                                              Pagina

                                     Draft                  SKF
                                                          software
                                     versie                versie




© Logica 2012. All rights reserved                                   No. 13
Context sensitive help

•  Help knoppen in de software doorlinken naar corresponderende
   documentatie

•  Juiste paginaversie corresponderend met softwareversie
•  Documentatiebeheerders moeten eenvoudig kunnen koppelen en
   nagaan of alle knoppen gedekt zijn.




© Logica 2012. All rights reserved                                No. 14
Systeemcontext
Systeemcontext

Het documentatiesysteem heeft de volgende informatie nodig (1/2):

•  Welke softwareversies zijn er?
   •  Gebruikers moeten naar de documentatie geleid worden die correspondeert
      met hun software versie. Documentatie moet gemerkt worden met
      features.
•  Welke features bestaan er voor elke software versie?
   •  Toegang tot pagina’s en inhoud moet worden verleend op basis van
      features.
•  Welke help knoppen bestaan er voor elke software versie?
   •  Content editors hebben een overzicht nodig en moeten documentatie
      toewijzen.
•  Mag een gebruiker inloggen?
   •  Inkomende documentatieverzoeken moeten geauthentiseerd worden tegen
      de software license server.


© Logica 2012. All rights reserved                                        No. 16
Systeemcontext

Het documentatiesysteem heeft de volgende informatie nodig (2/2):

•  Tot welke features heeft een gebruiker toegang?
   •  Een gebruikersprofiel met gebruikersdetails moet worden verkregen bij de
      software license server.
•  Welke versie van de software gebruikt de gebruiker op dit moment?
   •  Deze informatie moet worden verstrekt vanaf de simulatie software.




© Logica 2012. All rights reserved                                          No. 17
Systeemcontext



                                                               Software
     Web Content
                                                           Feature & Version
       Editor
                                                               Manager
                                     Documentatiesysteem




   Content Editing
                                                           Software License
   Authentication
                                                                Server
   Server (LDAP)


                                       SKF Simulation
                                         Software




© Logica 2012. All rights reserved                                             No. 18
Aanpak
Integratie in de software

•  Geïntegreerde webbrowser op basis van QtWebkit
•  SKF Simulation Tools maken gebruik van het Qt framework, dus
   QtWebkit is reeds beschikbaar.




© Logica 2012. All rights reserved                                No. 20
Documentatie dynamisch afgestemd op
gebruikersprofiel (1/3)

Content tonen op basis van de software features en software versies.

•  Optie 1: Standaard gebruikersgroepen TYPO3 gebruiken
   •  +: Snel te implementeren
   •  −: Gebruikersgroepen worden al ingezet voor “gebruikersgroepen”.
       Logische “&” combinaties tussen meerdere doeleinden zijn niet mogelijk
       (SKF afdeling A & Feature X & Versie 2.0).
   •  −: Onoverzichtelijk met 1000+ features.


•  Optie 2: Users, Pagina’s & Content uitbreiden met velden voor
   features en versies. Typoscript conditie om content te verbergen.
   •  +: Beter overzicht met dedicated velden. Simpele extensie.
   •  −: Alleen content wordt verborgen, pagina’s zichtbaar in menu’s en
       zoekresultaten.

© Logica 2012. All rights reserved                                              No. 21
Documentatie dynamisch afgestemd op
gebruikersprofiel (2/3)

Content tonen op basis van de software features en software versies.


•  Optie 3 (gekozen): Velden toevoegen zoals bij optie 2.
   TYPO3 Core access mechanismen uitbreiden voor de custom velden.
   •  +: Volledig transparant




© Logica 2012. All rights reserved                                 No. 22
Documentatie dynamisch afgestemd op
gebruikersprofiel (3/3)

Ontsluiten van de benodigde informatie


•  Import vanaf feature manager (handmatig gestart)
   •  Beschikbare versies

   •  Beschikbare features per versie

   •  Beschikbare help knoppen per versie

•  Import vanaf feature manager (automatisch, elke dag)
   •  Status informatie over beschikbaarheid van nieuwe gegevens

•  Import vanaf license manager
   •  Gebruikersprofielen, automatisch op moment van inloggen




© Logica 2012. All rights reserved                                 No. 23
Separate documentatie per software
release branch
Versioning in 3 dimensies:

•  Talen                             ! Standaardfunctionaliteit TYPO3

•  Draft versioning                  ! TYPO3 Workspaces

•  SKF Software versies:
   •  Optie 1: Talen misbruiken.

        •  −: Talen worden al gebruikt. Verwarrend oneigenlijk gebruik.
           Lastig onderhoudbaar bij snelle releasecycles.

   •  Optie 2 (gekozen): Geen versioning op paginaniveau, maar duplicaat van
       de volledige paginaboom per versie. Branchen faciliteren met custom
       extensie.

        •  −: Simultaan onderhouden meerdere losgekoppelde branches is lastig.


© Logica 2012. All rights reserved                                           No. 24
Context sensitive help

•  Elke help knop in de simulatiesoftware krijgt automatisch een unieke
   beschrijving.

•  De aanwezige feature manager exporteert lijsten met beschrijvingen
   van alle aanwezige help knoppen vanuit de software code.

•  Content managers koppelen help beschrijvingen aan pagina’s.
•  Bij het klikken op een help knop in de simulatiesoftware wordt een
   documentatierequest gegenereerd met de unieke code

•  Een custom TYPO3 extensie zoekt de juiste pagina behorend bij de
   software versie en unieke help beschrijving.




© Logica 2012. All rights reserved                                  No. 25
Authenticatie tegen license server

•  Custom frontend authentication service voor TYPO3
•  Simulatie Software zet een sessie op met license server
•  Sessie token wordt meegestuurd met documentatierequests
•  TYPO3 authenticatie service valideert token tegen de license server
•  Bij verlopen sessie informeert TYPO3 de simulatie software dat een
   nieuwe sessie opgezet moet worden.




© Logica 2012. All rights reserved                                   No. 26
Frontend zoekfunctionaliteit

Eisen
•  Snel
•  Resultaten moeten afgestemd zijn op de toegangspermissies van de
   huidige gebruiker.

Opties
•  Indexed Search
   •  −: zoekt niet direct in de content maar in een opgebouwde index. Deze
      index bevat een entry per unieke combinatie van usergroups. Dit zou
      moeten worden uitgebreid met features en versies. In de praktijk betekent
      dit een unieke index per gebruiker door de vele mogelijke combinaties.
•  Solr
   •  −: Gelijk aan Indexed Search
•  Search content element (searchresult)
   •  +: doorzoekt page en content direct met respect voor permissies
   •  −: traag, maar niet te traag

© Logica 2012. All rights reserved                                          No. 27
Implementatie
Access extensie (1/2)

Onderdelen
•  Authentication service
•  Access control uitbreiding met custom velden (features)
•  Frontend plugin voor dummy logins (gebruikt door editors)




© Logica 2012. All rights reserved                             No. 29
Access extensie (2/2)
Voor ontwikkelaars
•  Authentication service schrijven
   •  Documentatie van ‘cc_sv_auth’ in TER
   •  Voorbeeld ‘cc_svauthdemo’ in TER
   •  Document ‘doc_core_services’ over services in het algemeen


•  Access control uitbreiden met custom velden
   •  ‘Modern Template Building, Part 3’ (extending the built in access scheme)
   •  In plaats van voorbeeld in modern template building de volgende functies
      uitbreiden (ondersteuning voor pages en handiger met versioning):
       •  1: getMultipleGroupsWhereClause functie in class.t3lib_pageSelect.php
       •  2: checkEnableFields functie in class.tslib_fe.php
   •  Indien frontend search gebruikt wordt dan moet de treelist cache functie
      ook aangepast worden:
        •  3: getTreeList functie in class.tslib_content.php
        •  Treelist cache tabel blokkeren kan ook (minimale performance impact).

© Logica 2012. All rights reserved                                            No. 30
Imports & Monitoring
•  Monitoring extensie
   •  Backend module met
      statusoverzicht externe data


•  Import extensie
   •  Community extensie
      ‘external_import’ als engine.
   •  Task voor dagelijkse controle



  Voor ontwikkelaars
  •  Scheduler task maken
     •  Manual van scheduler ext
     •  http://t3blog.de/2010/09/24/den-scheduler-nutzen/
  •  Backend module toevoegen
     •  http://wiki.typo3.org/Backend_Programming#Custom_Backend_Module
     •  Core Doc ‘Inside TYPO3’

© Logica 2012. All rights reserved                                        No. 31
Branching

•  Custom click menu actie
   ‘Create new branch’
•  Klik op hoofdpagina van bestaande
   branch

Voor ontwikkelaars
•  Custom action toevoegen aan pagetree
   •  http://wiki.typo3.org/
      Pagetree#How_to_add_custom_actions
•  PHP script aanroepen vanuit javascript om
   pagina’s te kopieren (Ext.Direct)
   •  http://wiki.typo3.org/
      ExtDirect#How_to_use_Ext.Direct.3F
•  Gebruik van een hook na het kopiëren om
   interne links te corrigeren
   •  Geleend van ‘danp_sitecopy’


© Logica 2012. All rights reserved             No. 32
LaTex & HTML5 video

LaTex
•  Community extensie ‘latexmath’
•  Rendert LaTex formules als plaatjes
•  Voor SKF uitgebreid met RTE support

HTML5 video
•  Community extensie ‘ods_html5_media’
•  Zet video’s automatisch om naar HTML5 geschikt formaat
   met behulp van FFMpeg




© Logica 2012. All rights reserved                          No. 33
Workflow met content approval
procedure

•  TYPO3 Workspaces
•  Editors editen alleen in draft, geen toegang tot live!
•  4 custom approval stages!
•  Custom backend module om gearchiveerde versies te bekijken
•  Draft previews & frontend usergroups weinig gebruikte combinatie,
   aantal core patches ontwikkeld om dit beter te laten werken.




© Logica 2012. All rights reserved                                 No. 34
Resultaat
Resultaat




© Logica 2012. All rights reserved   No. 36
Resultaat




© Logica 2012. All rights reserved   No. 37
Bedankt
                  Bart Dubelaar




Logica is now part of CGI, a leading business and technology services company focused on helping clients achieve results. Since our founding in 1976, we've
operated upon the principles of sharing in clients' challenges and delivering quality services to address them. With 72,000 professionals in more than 40
countries, we have the presence, expertise and complete IT services to meet clients’ business needs anywhere, anytime. We provide the responsiveness and
accountability of a true local partner while offering the global scale, talent and services needed to meet your evolving needs. Visit www.cgi.com and
www.logica.com to learn more.

More Related Content

Similar to TYPO3 Congres 2012 - TYPO3 als centraal documentatiesysteem

Versiebeheer van database changes
Versiebeheer van database changesVersiebeheer van database changes
Versiebeheer van database changesArjen van Vliet
 
EMS Ehsal - production in a digital world 2013
EMS Ehsal - production in a digital world 2013EMS Ehsal - production in a digital world 2013
EMS Ehsal - production in a digital world 2013Hans Palmers
 
CRM 2011 als xRM platform - CRM Partners
CRM 2011 als xRM platform - CRM PartnersCRM 2011 als xRM platform - CRM Partners
CRM 2011 als xRM platform - CRM PartnersExploreDynCRM
 
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleHoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleSjoerd Hemminga
 
New features cognos10.2
New features cognos10.2New features cognos10.2
New features cognos10.2Jan van Otten
 
Sitecore - Onder de motorkop van ParTechIT.nl
Sitecore - Onder de motorkop van ParTechIT.nlSitecore - Onder de motorkop van ParTechIT.nl
Sitecore - Onder de motorkop van ParTechIT.nlRuud van Falier
 
Complexe e-commerce concepten op basis van open source
Complexe e-commerce concepten op basis van open sourceComplexe e-commerce concepten op basis van open source
Complexe e-commerce concepten op basis van open sourcewebwinkelvakdag
 
Suneco Governance Model
Suneco Governance ModelSuneco Governance Model
Suneco Governance Modelsuneco_nl
 
2tCloud update - Copaco Cloud Event 2015 (break-out 3)
2tCloud update - Copaco Cloud Event 2015 (break-out 3)2tCloud update - Copaco Cloud Event 2015 (break-out 3)
2tCloud update - Copaco Cloud Event 2015 (break-out 3)Copaco Nederland
 
SharePoint Framework Ignite 2016 recap @ Sparked
SharePoint Framework Ignite 2016 recap @ SparkedSharePoint Framework Ignite 2016 recap @ Sparked
SharePoint Framework Ignite 2016 recap @ SparkedAlbert-Jan Schot
 
Ontwikkelingen bij Copernica
Ontwikkelingen bij CopernicaOntwikkelingen bij Copernica
Ontwikkelingen bij CopernicaCopernica BV
 
2019 diy migration webinar gs nl
2019 diy migration webinar gs nl2019 diy migration webinar gs nl
2019 diy migration webinar gs nlEDB
 
Industrialisatie van Software Ontwikkeling
Industrialisatie van Software OntwikkelingIndustrialisatie van Software Ontwikkeling
Industrialisatie van Software OntwikkelingModeling Value Group
 
Mef dennis vroegop 20152905
Mef dennis vroegop 20152905Mef dennis vroegop 20152905
Mef dennis vroegop 20152905Dennis Vroegop
 
Requirements en testing
Requirements en testingRequirements en testing
Requirements en testingPim Snel
 
14.00 hr van Heijst
14.00 hr van Heijst14.00 hr van Heijst
14.00 hr van HeijstThemadagen
 
Rf meetup 25feb2020 robo_con
Rf meetup 25feb2020 robo_conRf meetup 25feb2020 robo_con
Rf meetup 25feb2020 robo_conchristiantester
 

Similar to TYPO3 Congres 2012 - TYPO3 als centraal documentatiesysteem (20)

Versiebeheer van database changes
Versiebeheer van database changesVersiebeheer van database changes
Versiebeheer van database changes
 
EMS Ehsal - production in a digital world 2013
EMS Ehsal - production in a digital world 2013EMS Ehsal - production in a digital world 2013
EMS Ehsal - production in a digital world 2013
 
CRM 2011 als xRM platform - CRM Partners
CRM 2011 als xRM platform - CRM PartnersCRM 2011 als xRM platform - CRM Partners
CRM 2011 als xRM platform - CRM Partners
 
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleHoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
 
New features cognos10.2
New features cognos10.2New features cognos10.2
New features cognos10.2
 
Sitecore - Onder de motorkop van ParTechIT.nl
Sitecore - Onder de motorkop van ParTechIT.nlSitecore - Onder de motorkop van ParTechIT.nl
Sitecore - Onder de motorkop van ParTechIT.nl
 
Complexe e-commerce concepten op basis van open source
Complexe e-commerce concepten op basis van open sourceComplexe e-commerce concepten op basis van open source
Complexe e-commerce concepten op basis van open source
 
Brochure appliance
Brochure applianceBrochure appliance
Brochure appliance
 
Brochure Appliance
Brochure ApplianceBrochure Appliance
Brochure Appliance
 
Suneco Governance Model
Suneco Governance ModelSuneco Governance Model
Suneco Governance Model
 
Booosting 24sept13 bim dutch revit standards mark wieringa cepezed
Booosting 24sept13 bim dutch revit standards   mark wieringa cepezedBooosting 24sept13 bim dutch revit standards   mark wieringa cepezed
Booosting 24sept13 bim dutch revit standards mark wieringa cepezed
 
2tCloud update - Copaco Cloud Event 2015 (break-out 3)
2tCloud update - Copaco Cloud Event 2015 (break-out 3)2tCloud update - Copaco Cloud Event 2015 (break-out 3)
2tCloud update - Copaco Cloud Event 2015 (break-out 3)
 
SharePoint Framework Ignite 2016 recap @ Sparked
SharePoint Framework Ignite 2016 recap @ SparkedSharePoint Framework Ignite 2016 recap @ Sparked
SharePoint Framework Ignite 2016 recap @ Sparked
 
Ontwikkelingen bij Copernica
Ontwikkelingen bij CopernicaOntwikkelingen bij Copernica
Ontwikkelingen bij Copernica
 
2019 diy migration webinar gs nl
2019 diy migration webinar gs nl2019 diy migration webinar gs nl
2019 diy migration webinar gs nl
 
Industrialisatie van Software Ontwikkeling
Industrialisatie van Software OntwikkelingIndustrialisatie van Software Ontwikkeling
Industrialisatie van Software Ontwikkeling
 
Mef dennis vroegop 20152905
Mef dennis vroegop 20152905Mef dennis vroegop 20152905
Mef dennis vroegop 20152905
 
Requirements en testing
Requirements en testingRequirements en testing
Requirements en testing
 
14.00 hr van Heijst
14.00 hr van Heijst14.00 hr van Heijst
14.00 hr van Heijst
 
Rf meetup 25feb2020 robo_con
Rf meetup 25feb2020 robo_conRf meetup 25feb2020 robo_con
Rf meetup 25feb2020 robo_con
 

More from TYPO3 Nederland

TYPO3 Congres 2012 - Keynote: A day with TYPO3
TYPO3 Congres 2012 - Keynote: A day with TYPO3TYPO3 Congres 2012 - Keynote: A day with TYPO3
TYPO3 Congres 2012 - Keynote: A day with TYPO3TYPO3 Nederland
 
TYPO3 Congres 2012 - Cookiewet: alles wat je wilde weten, maar niet durfde te...
TYPO3 Congres 2012 - Cookiewet: alles wat je wilde weten, maar niet durfde te...TYPO3 Congres 2012 - Cookiewet: alles wat je wilde weten, maar niet durfde te...
TYPO3 Congres 2012 - Cookiewet: alles wat je wilde weten, maar niet durfde te...TYPO3 Nederland
 
TYPO3 Congres 2012 - Hoe kreeg Leiden haar 3 sterren?
TYPO3 Congres 2012 - Hoe kreeg Leiden haar 3 sterren?TYPO3 Congres 2012 - Hoe kreeg Leiden haar 3 sterren?
TYPO3 Congres 2012 - Hoe kreeg Leiden haar 3 sterren?TYPO3 Nederland
 
TYPO3 Congres 2012 - Sony on TYPO3: Rapid Global Deployment Case Study
TYPO3 Congres 2012 - Sony on TYPO3: Rapid Global Deployment Case StudyTYPO3 Congres 2012 - Sony on TYPO3: Rapid Global Deployment Case Study
TYPO3 Congres 2012 - Sony on TYPO3: Rapid Global Deployment Case StudyTYPO3 Nederland
 
TYPO3 Congres 2012 - Bouw je eerste site met TYPO3 Neos
TYPO3 Congres 2012 - Bouw je eerste site met TYPO3 NeosTYPO3 Congres 2012 - Bouw je eerste site met TYPO3 Neos
TYPO3 Congres 2012 - Bouw je eerste site met TYPO3 NeosTYPO3 Nederland
 
TYPO3 Congres 2012 - Test-Driven Development binnen TYPO3 Flow en Neos
TYPO3 Congres 2012 - Test-Driven Development binnen TYPO3 Flow en NeosTYPO3 Congres 2012 - Test-Driven Development binnen TYPO3 Flow en Neos
TYPO3 Congres 2012 - Test-Driven Development binnen TYPO3 Flow en NeosTYPO3 Nederland
 
TYPO3 Congres 2012 - Introductie werken met CSS preprocessors
TYPO3 Congres 2012 - Introductie werken met CSS preprocessorsTYPO3 Congres 2012 - Introductie werken met CSS preprocessors
TYPO3 Congres 2012 - Introductie werken met CSS preprocessorsTYPO3 Nederland
 
TYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en Fluid
TYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en FluidTYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en Fluid
TYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en FluidTYPO3 Nederland
 
TYPO3 Congres 2012 - Responsive webdesign
TYPO3 Congres 2012 - Responsive webdesignTYPO3 Congres 2012 - Responsive webdesign
TYPO3 Congres 2012 - Responsive webdesignTYPO3 Nederland
 
TYPO3 Congres 2011 - Rens Admiraal - FLOW3 en TYPO3 PHOENIX
TYPO3 Congres 2011 - Rens Admiraal - FLOW3 en TYPO3 PHOENIXTYPO3 Congres 2011 - Rens Admiraal - FLOW3 en TYPO3 PHOENIX
TYPO3 Congres 2011 - Rens Admiraal - FLOW3 en TYPO3 PHOENIXTYPO3 Nederland
 
TYPO3 Congres 2011 - Patrick Broens - FORM
TYPO3 Congres 2011 - Patrick Broens - FORMTYPO3 Congres 2011 - Patrick Broens - FORM
TYPO3 Congres 2011 - Patrick Broens - FORMTYPO3 Nederland
 
TYPO3 Congres 2011 - ROQUIN - PhpStorm
TYPO3 Congres 2011 - ROQUIN - PhpStormTYPO3 Congres 2011 - ROQUIN - PhpStorm
TYPO3 Congres 2011 - ROQUIN - PhpStormTYPO3 Nederland
 
TYPO3 Congres 2011 - Gemeente Ede - Open Source
TYPO3 Congres 2011 - Gemeente Ede - Open SourceTYPO3 Congres 2011 - Gemeente Ede - Open Source
TYPO3 Congres 2011 - Gemeente Ede - Open SourceTYPO3 Nederland
 
TYPO3 Congres 2011 - ROQUIN - HTML5
TYPO3 Congres 2011 - ROQUIN - HTML5TYPO3 Congres 2011 - ROQUIN - HTML5
TYPO3 Congres 2011 - ROQUIN - HTML5TYPO3 Nederland
 

More from TYPO3 Nederland (14)

TYPO3 Congres 2012 - Keynote: A day with TYPO3
TYPO3 Congres 2012 - Keynote: A day with TYPO3TYPO3 Congres 2012 - Keynote: A day with TYPO3
TYPO3 Congres 2012 - Keynote: A day with TYPO3
 
TYPO3 Congres 2012 - Cookiewet: alles wat je wilde weten, maar niet durfde te...
TYPO3 Congres 2012 - Cookiewet: alles wat je wilde weten, maar niet durfde te...TYPO3 Congres 2012 - Cookiewet: alles wat je wilde weten, maar niet durfde te...
TYPO3 Congres 2012 - Cookiewet: alles wat je wilde weten, maar niet durfde te...
 
TYPO3 Congres 2012 - Hoe kreeg Leiden haar 3 sterren?
TYPO3 Congres 2012 - Hoe kreeg Leiden haar 3 sterren?TYPO3 Congres 2012 - Hoe kreeg Leiden haar 3 sterren?
TYPO3 Congres 2012 - Hoe kreeg Leiden haar 3 sterren?
 
TYPO3 Congres 2012 - Sony on TYPO3: Rapid Global Deployment Case Study
TYPO3 Congres 2012 - Sony on TYPO3: Rapid Global Deployment Case StudyTYPO3 Congres 2012 - Sony on TYPO3: Rapid Global Deployment Case Study
TYPO3 Congres 2012 - Sony on TYPO3: Rapid Global Deployment Case Study
 
TYPO3 Congres 2012 - Bouw je eerste site met TYPO3 Neos
TYPO3 Congres 2012 - Bouw je eerste site met TYPO3 NeosTYPO3 Congres 2012 - Bouw je eerste site met TYPO3 Neos
TYPO3 Congres 2012 - Bouw je eerste site met TYPO3 Neos
 
TYPO3 Congres 2012 - Test-Driven Development binnen TYPO3 Flow en Neos
TYPO3 Congres 2012 - Test-Driven Development binnen TYPO3 Flow en NeosTYPO3 Congres 2012 - Test-Driven Development binnen TYPO3 Flow en Neos
TYPO3 Congres 2012 - Test-Driven Development binnen TYPO3 Flow en Neos
 
TYPO3 Congres 2012 - Introductie werken met CSS preprocessors
TYPO3 Congres 2012 - Introductie werken met CSS preprocessorsTYPO3 Congres 2012 - Introductie werken met CSS preprocessors
TYPO3 Congres 2012 - Introductie werken met CSS preprocessors
 
TYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en Fluid
TYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en FluidTYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en Fluid
TYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en Fluid
 
TYPO3 Congres 2012 - Responsive webdesign
TYPO3 Congres 2012 - Responsive webdesignTYPO3 Congres 2012 - Responsive webdesign
TYPO3 Congres 2012 - Responsive webdesign
 
TYPO3 Congres 2011 - Rens Admiraal - FLOW3 en TYPO3 PHOENIX
TYPO3 Congres 2011 - Rens Admiraal - FLOW3 en TYPO3 PHOENIXTYPO3 Congres 2011 - Rens Admiraal - FLOW3 en TYPO3 PHOENIX
TYPO3 Congres 2011 - Rens Admiraal - FLOW3 en TYPO3 PHOENIX
 
TYPO3 Congres 2011 - Patrick Broens - FORM
TYPO3 Congres 2011 - Patrick Broens - FORMTYPO3 Congres 2011 - Patrick Broens - FORM
TYPO3 Congres 2011 - Patrick Broens - FORM
 
TYPO3 Congres 2011 - ROQUIN - PhpStorm
TYPO3 Congres 2011 - ROQUIN - PhpStormTYPO3 Congres 2011 - ROQUIN - PhpStorm
TYPO3 Congres 2011 - ROQUIN - PhpStorm
 
TYPO3 Congres 2011 - Gemeente Ede - Open Source
TYPO3 Congres 2011 - Gemeente Ede - Open SourceTYPO3 Congres 2011 - Gemeente Ede - Open Source
TYPO3 Congres 2011 - Gemeente Ede - Open Source
 
TYPO3 Congres 2011 - ROQUIN - HTML5
TYPO3 Congres 2011 - ROQUIN - HTML5TYPO3 Congres 2011 - ROQUIN - HTML5
TYPO3 Congres 2011 - ROQUIN - HTML5
 

TYPO3 Congres 2012 - TYPO3 als centraal documentatiesysteem

  • 2. Agenda •  Logica •  SKF •  De opdracht •  Systeemcontext •  Aanpak •  Implementatie •  Resultaat © Logica 2012. All rights reserved No. 2
  • 4. Logica Technical Software Engineering •  Logica onlangs overgenomen door het Canadese CGI •  Nu 76.000 werknemers wereldwijd, 4.500 in Nederland •  Technical Software Engineering: 250 man in Nederland •  Software ontwikkeling in verschillende technische velden © Logica 2012. All rights reserved No. 4
  • 5. Logica Technical Software Engineering High Space Smart mobility Modelling, Monitoring Modelling, integrity, visualization & Space Embedded visualization & monitoring &Geo ICT Geo ICT Control Systems and control © Logica 2012. All rights reserved No. 5
  • 6.
  • 7. SKF - Svenska Kullagerfabriken •  Grootste kogellagerfabrikant ter wereld •  Niet alleen kogellagers, ook mechatronica, smeermiddelen en afdichtingen. •  Opgericht in 1907, ooit moederbedrijf van Volvo •  44.500 werknemers wereldwijd •  Hoofdkantoor in Göteborg Zweden •  Engineering & Research Center in Nieuwegein © Logica 2012. All rights reserved No. 7
  • 8. SKF Simulation Tools CAD models of customer SKF simulation models © Logica 2012. All rights reserved No. 8
  • 9. SKF Simulation Tools © Logica 2012. All rights reserved No. 9
  • 11. De opdracht •  Help & documentatie geïntegreerd in de simulatiesoftware •  Centraal te beheren •  Beschikbare documentatie dynamisch afgestemd op gebruikersprofiel van de gebruiker •  Separate documentatie per software release branch •  Workflow met content approval procedure •  Context sensitive help •  Meertalig •  Zoekfunctionaliteit, dynamisch afgestemd op niveau van toegang •  Authenticatie tegen software license server •  Ondersteuning van LaTex formules & embedded video's © Logica 2012. All rights reserved No. 11
  • 12. Documentatie dynamisch afgestemd op gebruikersprofiel van de gebruiker •  Software heeft 1000+ features •  Elke gebruiker een profiel met unieke combinatie van features •  Verschillende documentatie per softwareversie •  Pagina en content access control op: Page •  Feature Content element •  Versie •  Gebruikersgroep (SKF afdelingen) Content element •  Zoekfunctie die content access respecteert Accessible only by: feature X Content element © Logica 2012. All rights reserved No. 12
  • 13. Separate documentatie per software release branch • Versioning in 3 dimensies: •  Draft versioning Vertaling •  Talen •  SKF Software versies Pagina Draft SKF software versie versie © Logica 2012. All rights reserved No. 13
  • 14. Context sensitive help •  Help knoppen in de software doorlinken naar corresponderende documentatie •  Juiste paginaversie corresponderend met softwareversie •  Documentatiebeheerders moeten eenvoudig kunnen koppelen en nagaan of alle knoppen gedekt zijn. © Logica 2012. All rights reserved No. 14
  • 16. Systeemcontext Het documentatiesysteem heeft de volgende informatie nodig (1/2): •  Welke softwareversies zijn er? •  Gebruikers moeten naar de documentatie geleid worden die correspondeert met hun software versie. Documentatie moet gemerkt worden met features. •  Welke features bestaan er voor elke software versie? •  Toegang tot pagina’s en inhoud moet worden verleend op basis van features. •  Welke help knoppen bestaan er voor elke software versie? •  Content editors hebben een overzicht nodig en moeten documentatie toewijzen. •  Mag een gebruiker inloggen? •  Inkomende documentatieverzoeken moeten geauthentiseerd worden tegen de software license server. © Logica 2012. All rights reserved No. 16
  • 17. Systeemcontext Het documentatiesysteem heeft de volgende informatie nodig (2/2): •  Tot welke features heeft een gebruiker toegang? •  Een gebruikersprofiel met gebruikersdetails moet worden verkregen bij de software license server. •  Welke versie van de software gebruikt de gebruiker op dit moment? •  Deze informatie moet worden verstrekt vanaf de simulatie software. © Logica 2012. All rights reserved No. 17
  • 18. Systeemcontext Software Web Content Feature & Version Editor Manager Documentatiesysteem Content Editing Software License Authentication Server Server (LDAP) SKF Simulation Software © Logica 2012. All rights reserved No. 18
  • 20. Integratie in de software •  Geïntegreerde webbrowser op basis van QtWebkit •  SKF Simulation Tools maken gebruik van het Qt framework, dus QtWebkit is reeds beschikbaar. © Logica 2012. All rights reserved No. 20
  • 21. Documentatie dynamisch afgestemd op gebruikersprofiel (1/3) Content tonen op basis van de software features en software versies. •  Optie 1: Standaard gebruikersgroepen TYPO3 gebruiken •  +: Snel te implementeren •  −: Gebruikersgroepen worden al ingezet voor “gebruikersgroepen”. Logische “&” combinaties tussen meerdere doeleinden zijn niet mogelijk (SKF afdeling A & Feature X & Versie 2.0). •  −: Onoverzichtelijk met 1000+ features. •  Optie 2: Users, Pagina’s & Content uitbreiden met velden voor features en versies. Typoscript conditie om content te verbergen. •  +: Beter overzicht met dedicated velden. Simpele extensie. •  −: Alleen content wordt verborgen, pagina’s zichtbaar in menu’s en zoekresultaten. © Logica 2012. All rights reserved No. 21
  • 22. Documentatie dynamisch afgestemd op gebruikersprofiel (2/3) Content tonen op basis van de software features en software versies. •  Optie 3 (gekozen): Velden toevoegen zoals bij optie 2. TYPO3 Core access mechanismen uitbreiden voor de custom velden. •  +: Volledig transparant © Logica 2012. All rights reserved No. 22
  • 23. Documentatie dynamisch afgestemd op gebruikersprofiel (3/3) Ontsluiten van de benodigde informatie •  Import vanaf feature manager (handmatig gestart) •  Beschikbare versies •  Beschikbare features per versie •  Beschikbare help knoppen per versie •  Import vanaf feature manager (automatisch, elke dag) •  Status informatie over beschikbaarheid van nieuwe gegevens •  Import vanaf license manager •  Gebruikersprofielen, automatisch op moment van inloggen © Logica 2012. All rights reserved No. 23
  • 24. Separate documentatie per software release branch Versioning in 3 dimensies: •  Talen ! Standaardfunctionaliteit TYPO3 •  Draft versioning ! TYPO3 Workspaces •  SKF Software versies: •  Optie 1: Talen misbruiken. •  −: Talen worden al gebruikt. Verwarrend oneigenlijk gebruik. Lastig onderhoudbaar bij snelle releasecycles. •  Optie 2 (gekozen): Geen versioning op paginaniveau, maar duplicaat van de volledige paginaboom per versie. Branchen faciliteren met custom extensie. •  −: Simultaan onderhouden meerdere losgekoppelde branches is lastig. © Logica 2012. All rights reserved No. 24
  • 25. Context sensitive help •  Elke help knop in de simulatiesoftware krijgt automatisch een unieke beschrijving. •  De aanwezige feature manager exporteert lijsten met beschrijvingen van alle aanwezige help knoppen vanuit de software code. •  Content managers koppelen help beschrijvingen aan pagina’s. •  Bij het klikken op een help knop in de simulatiesoftware wordt een documentatierequest gegenereerd met de unieke code •  Een custom TYPO3 extensie zoekt de juiste pagina behorend bij de software versie en unieke help beschrijving. © Logica 2012. All rights reserved No. 25
  • 26. Authenticatie tegen license server •  Custom frontend authentication service voor TYPO3 •  Simulatie Software zet een sessie op met license server •  Sessie token wordt meegestuurd met documentatierequests •  TYPO3 authenticatie service valideert token tegen de license server •  Bij verlopen sessie informeert TYPO3 de simulatie software dat een nieuwe sessie opgezet moet worden. © Logica 2012. All rights reserved No. 26
  • 27. Frontend zoekfunctionaliteit Eisen •  Snel •  Resultaten moeten afgestemd zijn op de toegangspermissies van de huidige gebruiker. Opties •  Indexed Search •  −: zoekt niet direct in de content maar in een opgebouwde index. Deze index bevat een entry per unieke combinatie van usergroups. Dit zou moeten worden uitgebreid met features en versies. In de praktijk betekent dit een unieke index per gebruiker door de vele mogelijke combinaties. •  Solr •  −: Gelijk aan Indexed Search •  Search content element (searchresult) •  +: doorzoekt page en content direct met respect voor permissies •  −: traag, maar niet te traag © Logica 2012. All rights reserved No. 27
  • 29. Access extensie (1/2) Onderdelen •  Authentication service •  Access control uitbreiding met custom velden (features) •  Frontend plugin voor dummy logins (gebruikt door editors) © Logica 2012. All rights reserved No. 29
  • 30. Access extensie (2/2) Voor ontwikkelaars •  Authentication service schrijven •  Documentatie van ‘cc_sv_auth’ in TER •  Voorbeeld ‘cc_svauthdemo’ in TER •  Document ‘doc_core_services’ over services in het algemeen •  Access control uitbreiden met custom velden •  ‘Modern Template Building, Part 3’ (extending the built in access scheme) •  In plaats van voorbeeld in modern template building de volgende functies uitbreiden (ondersteuning voor pages en handiger met versioning): •  1: getMultipleGroupsWhereClause functie in class.t3lib_pageSelect.php •  2: checkEnableFields functie in class.tslib_fe.php •  Indien frontend search gebruikt wordt dan moet de treelist cache functie ook aangepast worden: •  3: getTreeList functie in class.tslib_content.php •  Treelist cache tabel blokkeren kan ook (minimale performance impact). © Logica 2012. All rights reserved No. 30
  • 31. Imports & Monitoring •  Monitoring extensie •  Backend module met statusoverzicht externe data •  Import extensie •  Community extensie ‘external_import’ als engine. •  Task voor dagelijkse controle Voor ontwikkelaars •  Scheduler task maken •  Manual van scheduler ext •  http://t3blog.de/2010/09/24/den-scheduler-nutzen/ •  Backend module toevoegen •  http://wiki.typo3.org/Backend_Programming#Custom_Backend_Module •  Core Doc ‘Inside TYPO3’ © Logica 2012. All rights reserved No. 31
  • 32. Branching •  Custom click menu actie ‘Create new branch’ •  Klik op hoofdpagina van bestaande branch Voor ontwikkelaars •  Custom action toevoegen aan pagetree •  http://wiki.typo3.org/ Pagetree#How_to_add_custom_actions •  PHP script aanroepen vanuit javascript om pagina’s te kopieren (Ext.Direct) •  http://wiki.typo3.org/ ExtDirect#How_to_use_Ext.Direct.3F •  Gebruik van een hook na het kopiëren om interne links te corrigeren •  Geleend van ‘danp_sitecopy’ © Logica 2012. All rights reserved No. 32
  • 33. LaTex & HTML5 video LaTex •  Community extensie ‘latexmath’ •  Rendert LaTex formules als plaatjes •  Voor SKF uitgebreid met RTE support HTML5 video •  Community extensie ‘ods_html5_media’ •  Zet video’s automatisch om naar HTML5 geschikt formaat met behulp van FFMpeg © Logica 2012. All rights reserved No. 33
  • 34. Workflow met content approval procedure •  TYPO3 Workspaces •  Editors editen alleen in draft, geen toegang tot live! •  4 custom approval stages! •  Custom backend module om gearchiveerde versies te bekijken •  Draft previews & frontend usergroups weinig gebruikte combinatie, aantal core patches ontwikkeld om dit beter te laten werken. © Logica 2012. All rights reserved No. 34
  • 36. Resultaat © Logica 2012. All rights reserved No. 36
  • 37. Resultaat © Logica 2012. All rights reserved No. 37
  • 38. Bedankt Bart Dubelaar Logica is now part of CGI, a leading business and technology services company focused on helping clients achieve results. Since our founding in 1976, we've operated upon the principles of sharing in clients' challenges and delivering quality services to address them. With 72,000 professionals in more than 40 countries, we have the presence, expertise and complete IT services to meet clients’ business needs anywhere, anytime. We provide the responsiveness and accountability of a true local partner while offering the global scale, talent and services needed to meet your evolving needs. Visit www.cgi.com and www.logica.com to learn more.