Handleiding SRON CMS

[versie 29-05-2012]


Inhoud:







Handleiding SRON CMS  

Inleiding


De website pagina indeling



De SRON website (internet en intranet) zijn gemaakt en worden beheerd met het joomla versie 2.5 [voorheen 1.0] open source Content Management Systeem (CMS). Dit CMS is gebaseerd op PHP software en een MySQL database. Er zijn diverse modules voor dit systeem ontwikkeld door de Open Source community waarvan we dankbaar gebruik maken, maar die we deels ook hebben aangepast/uitgebreid om aan onze specifieke wensen te voldoen.

Joomla! maakt het mogelijk om door de gebruiker zonder specifieke kennis van HTML, programmeertalen of databases in een paar eenvoudige stappen, de content van de SRON-webpagina's te onderhouden. Daarvoor is nodig een browser (de functionaliteiten onder de Internet Explorer en Mozilla Firefox hebben we getest) en een netverbinding binnen SRON (Groningen, Utrecht en VPN).

Content betekend letterlijk "inhoud" en is een verzamelnaam voor “alles” wat je op een website kunt plaatsen, zoals tekstpagina's, losse documenten, figuren/foto's, geluid of een filmpje.

  • Deze handleiding beperkt zich tot het beheer van de content aan de "voorkant" van de website / intranet site (frontend).
  • Er is ook nog een "achterkant" (backend) met meer mogelijkheden die wordt beheerd door de webmaster.
  • Daarnaast zijn er SRON webpagina's die niet [of nog niet] binnen Joomla! worden beheerd (HIFI pagina's) . Het is geen probleem om deze pagina's toch in een huisstijljasje te gieten en in het geheel op te nemen. De webmaster biedt ondersteuning.
  • Tenslotte kunnen de documenten uit het KT documentsysteem weergegeven worden.


    1. Toegang

    Het contentbeheer van de SRON-website en de SRON-intranet site is verdeeld over verschillende medewerkers (zie document intranet, onderaan iedere pagina wordt de beheerder van die pagina weergegeven). Zij kunnen een afgebakend deel van de webpagina's beheren. Indien aanpassingen nodig zijn van de toegangsrechten, neem dan contact op met de webmaster (zie hierboven).

      1.1 Inloggen frontend




      Fig. Inlog menu

      Na invoeren van een geldige username/password combinatie opent de browser op de SRON homepage (klik op Intranet om naar de intranet pagina's te gaan). Op elke pagina die je mag aanpassen zal een 'potloodje' te zien zijn.

      1.2 User menu

      Nadat je bent ingelogd verschijnt er links een extra menu (het User Menu) op de intranet homepage.


      Extra user opties



      Wijzigen van de instellingen


      User Menu zijn opties o.a.:

    • Your details
    • Hier kun je je e-mail of wachtwoord aanpassen (laat s.v.p. Your Name en User Name ongewijzigd). Je kunt hier ook voor een specifieke editor kiezen. Hier beneden wordt uitgegaan van de meest gebruikersvriendelijke en uitgebreide (WYSIWYG) editor die daar voorhanden is, mosCE.
    • Interne berichten
    • Klik hier om een "Intern bericht" te plaatsen op de intranet homepage.
    • Actuele wetenswaardigheden
    • Klik hier om een bericht onder "Actuele wetenswaardigheden" te plaatsen op de intranet home page.
    • Check-In My Items
    • Als je aan een webpagina werkt dan wordt deze “uitgechecked”, dat wil zeggen dat er een slotje opkomt dat voorkomt dat iemand anders tegelijkertijd veranderingen aanbrengt. Je bent de enige die dan kan wijzigen. Zodra je klaar bent moet dat slotje er weer vanaf. Meestal gaat dat automatisch (er is in principe maar één beheerder van elke pagina), maar voor de zekerheid klik je op deze link, dan worden alle slotjes van de pagina's die je hebt bewerkt weggehaald.
    • Logout
    • Verlaat het CMS systeem

    2. Pagina aanpassen

    De SRON webpagina's kennen standaard een bovenbalk, een bovenmenu, een linkermenu, een middengedeelte en een rechterkolom. De verschillende beheerders kunnen het middengedeelte en de rechterkolom aanpassen. Het overige wordt beheerd door de webmaster.

    Login in het systeem, browse naar de pagina die je wilt aanpassen en klik op het 'potloodje' . Nu verschijnt de tekst van de pagina in een editor. Er zijn verschillende editors beschikbaar die je kunt kiezen (zie hierboven). Alleen de zgn. 'mosCE' editor biedt de volledige functionaliteit die hier wordt beschreven.

    De invoerpagina is verdeeld in 3 onderdelen:

      2.1 Eerste veld (voor het brede midden gedeelte van de pagina)



      Wijzigen/toevoegen van tekst

      Hier wordt de content van het midden gedeelte van de webpagina beheerd (standaard plaatsen we hier de tekst van de pagina, maar er kunnen ook figuren/foto's worden toegevoegd).

      2.2 Tweede veld (voor de smalle rechter kolom)



      Rechter kolom

      Hier wordt de content van de rechter kolom beheerd (meestal. het plaatsen van figuren/foto's, die we standaard in de rechter kolom op de pagina neerzetten of de specifieke links).

      Dit veld komt achter het eerste veld nadat de button 'Read more' is ingedrukt (er verschijnt een horizontale lijn in de editor, welke de 2 velden nu aangeeft.

      3. De editor functies

      Bovenin plaats je de titel van de pagina en kies je de categorie. De categorie is gewoonlijk reeds bepaald door de webmaster.

      Titel invoerveld



      Categorie selectie



      De JCE editor


      Een overzicht van de verschillende editor functies is ook te vinden in één van de Appendices (overzicht editor functies). Merk op dat het mogelijk is om naast de tekst in het edit veld ook bepaalde 'codes' in het veld op te nemen. Deze zijn herkenbaar aan haken {...} rondom de tekst.

        3.1 Het aanvullen/wijzigen van de tekst

        Edit of vul de tekst aan in het eerste edit veld.

        3.2 Het maken van een link

          Het maken van een link naar een bestaande pagina:
          • Selecteer eerst met de muis de tekst in het editor veld die een link moet krijgen.
          • Klik vervolgens op en het volgende scherm verschijnt. Hier kunnen de link gegevens vastgelegd worden.

          • Klik op update.

          Het maken van een link naar een file (die nog geupload moet worden)
          • Bepaal de plek in de pagina waar de text met de link moet komen
          • Klik op Insert/Edit file
          • Bepaal de directorie waar de file moet komen en upload (icoon: 'Upload' ) deze in de directorie
          • Klik de file aan en klik op 'Insert' en vul eventueel de link title in



          Invullen van de link options


          3.3 Het plaatsen van een image

            Wil je een nieuwe figuur/foto toevoegen aan een pagina:
            • bepaal de plek in de pagina waar het plaatje moet komen
            • klik op icoon: 'Insert/Edit' image
            • Bepaal in welke directory je het plaatje wilt oploaden (project) en klik op icoon 'Upload'
            • Insert het plaatje in de pagina met de button: 'Insert'

          3.4 Tekst kopiëren vanuit een Word bestand



          Door tekst vanuit MS-Word toe te voegen (copy/paste) , kunnen er veel problemen onstaan.
          Hieronder worden 2 methodes beschreven om tekst vanuit word te copieren.

          Methode-1 (via paste (vanuit een WORD document) invoerveld:
          • Ga naar de plaats in het tekstveld waar je de tekst wilt toevoegen.
          • Selecteer de tekst in MS-Word, CTRL-C (copy).
          • Ga naar de CMS editor en klik op het klembord (paste) met het Paste-icoontje .
            Een apart schermpje zal verschijnen. Met CTRL-V plak je de tekst in dit schermpje.
          • Klik op de knop met de tekst “insert”.

          Op deze manier wordt wel de stijl van de tekst overgenomen (bold, onderstreept e.d.), maar niet het fonttype, kleur en andere (onnodige extra) stijlkenmerken.


          Methode-2 (via notepad editor):
          Dit is de beste methode, met deze wijze van werken komt er geen extra (stijl) code in de source, welke kan zorgen voor een ongewenste layout.

          Werkwijze:
          • Open een (simpele) editor zoals notepad (of een (keuze uit zeer vele) editors onder linux).
          • Copy/Paste de tekst in de zojuist geopende editor. In dit window staat nu de tekst zonder enige stijl code
          • Copy/Paste deze code nu in de Joomla CMS-editor veld. De tekst is overgenomen met de linebreaks.
          • Pas de stijl van de tekst aan: (verder zo weinig mogelijk met kleuren en font size!)
            • Pas de tekst eventueel aan met linebreaks (return aan het eind van de regel), bold etc.
            • Pas de hoofdtukken (headings) aan met [Format--], bijv Heading3.
            • Creer de bullets (unorderend list).
            • Bekijk de tekst op de 'vreemde' word-tekens als é , ô π, ω etc.

            Dit zijn de meest voorkomende (handmatige) stijlkenmerken van een pagina, het maken van een tabel behoort ook nog tot de mogelijkheden.

          op deze manier wordt de huisstijl zo goed mogelijk gehandhaafd van de website.

        4. Items toevoegen / uploaden

          4.1 Category-item toevoegen


          Toevoegen van een item aan een category

          Als de content bestaat uit een zgn. categorie lijst (zoals nieuwsberichten), dan verschijnt de complete lijst op het scherm. Ieder item is aan te passen (via het 'potloodje' achter het item) en onderaan is een icon zichtbaar met de tekst New... om een nieuw item aan de lijst toe te voegen. .

          4.4 Menu-item (link naar een pagina) toevoegen/verwijderen


          Het linker menu

          Deze functionaliteit is helaas niet voorzien in de frond-end (niet beschikbaar voor de gebruiker).
          Het toevoegen/verwijderen van een menu-item wordt gedaan aan de back-end door de webmaster.

          Werkwijze:
          • Geef door aan de webmaster welke menu items toegevoegd, of verwijderd moeten worden
            (het toekennen van rechten om dit door de gebruiker zelf te kunnen doen is helaas niet mogelijk) .
          • Na invoeren van een nieuw menu-item in het systeem (door de webmaster) kan de pagina ingevuld worden (door de gebruiker).



        Appendices


        A1.1 Editor functies

        zie handleiding: jce-editor/de-belangrijkste-funcies en the Ultimate JCE Guide

        A1.2.2 Tabblad Publishing


        Het publiceren van de pagina

        Via het tabblad Publiceren kun je aangeven wanneer een artikel geplaatst moet worden en wanneer het weer mag verdwijnen.

        State Dit is alleen zichtbaar voor hen die de autorisatie hebben om te mogen publiceren. Hier kun je kiezen of het bericht gepubliceerd moet worden of niet.
        Let op: standaard staat het op ONgepubliceerd.
        Access Level Hier wordt bepaald wie het artikel mag lezen.
        Selecteer Public zodat ieder bezoeker het bericht kan lezen.
        Author Alias Hier kun je een naam van iemand anders neerzetten.
        Niet van toepassing binnen SRON.
        Ordering Deze optie heeft de webmaster geblokkeerd. Dit geld voor de hele site
        Start publicatie Hier geef je aan vanaf welke datum het artikelt getoond wordt op de website. Klik je op het blokje met de drie puntjes, dan verschijnt er een kalender zodat je eenvoudig de juiste datum kan selecteren.
        Einde publicatie Hier geef je aan vanaf welke datum het artikel niet meer getoond mag worden op de website.
        Toon op voorpagina Geen betekenis voor SRON

        A1.2.3 Tabblad Metadata


        De aanvllende gegevens van een pagina

        • Description
          In dit deel kun je een omschrijving plaatsen van de pagina.

        • Keywords / Gerelateerde pagina

          Gerelateerde pagina's

          Je kunt hier sleutelwoorden invoeren gescheiden door een komma. Als er 2 pagina's met een zelfde Keyword zijn, dan worden deze pagina's als 'gerelateerde' pagina's gezien. Op beide pagina's wordt dan een link geplaatst naar de gerelateerde pagina. Het is ook mogelijk om een link op te nemen met het commando {link:/ << link >> }.

          Voorbeeld (interne en externe link):
            OMI,  EOS, {link http://www.knmi.nl/omi/ KNMI PI institute}
          

      A1.3. Editor {...} codes (de zgn. plugins)

        Het is mogelijk om naast de tekst in de edit velden ook bepaalde 'codes' op te nemen.
        Deze zijn herkenbaar aan haken {...} rondom de tekst en worden op een speciale wijze geinterpeteerd.

        Deze {} code toevoegen in de html editor (button , zodat er geen extra codes ontstaan!

        A1.3.1 {multithumb option}

        Standaard wordt het plaatje op een pagina met een thumb weergegeven (aanklicken is het tonen van het plaatje in een popup).
        Om het plaatje in zijn geheel te tonen op een pagina voeg bovenin de pagina de volgende regel:
         {nomultithumb} 
        Het aanpassen van de thumbsize (standaard: 140px):
         {multithumb thumb_width=200} 
        Voor verdere opties zie: multithumb opties

        A1.3.3 {jsmallfib}

        De files van de aangegeven directory (met prefix /data/www/www.sron.nl/files) worden weergegeven in een lijst.


        Het displayen van de files in een directory

        Voorbeeld:
           {jsmallfib [pr/other/download] abspath(/data/www/www.sron.nl/files) [0:2] [reg:2]  [sortby:3]   [sortas:2]  [width:480] }
           
        zie voor de opties (zoals type sortering) de manual jsmallfib.pdf

        1.3.4 Documentlijst tonen met extra informatie {doclist:}

        Dit is de uitgebreidere versie van dirlist. achter de filenaam kan extra informatie getoond worden.
        De files van de aangegeven directory (met prefix ./files) worden weergegeven in een lijst met de bijbehorende tekst uit een file (dezelfde naam met extensie .doc).
        Aan de pagina kan extra informatie voor en na de listing worden gegeven d.m.v. de tekst file start.html en stop.html.



        Voorbeeld:
            {doclist:/diVisions/hea/xmm/internal/documents/}
           

        A1.3.5 {link 'url' 'link' }

        In het tabblad Metadata (Login, edit de pagina, onderin bij de images definitie: tabbladen: Imags, Publishing en Metadata) kan een link toegevoegd worden naar een externe site (de interne link gaat d.m.v. 'related' pages, zie Appendix A1.2).
        Voorbeeld:
            {link http://www.knmi.nl/omi/ KNMI PI institute}
           

        A1.3.6 {mospublications:'keyword' }

        Hiermee kan direct gelinkt worden naar de 'publications' pagina met als zoek opdracht alle publicaties met een gegeven keyword.

        Voorbeeld:
         {mospublications:Ozone}
           

        A1.3.7 {moskt commando&opt1&opt2&...}

        Dit is een zgn soap interface om de KT-files zichtbaar te maken in de website,zie A3 KT soap interface.
         {moskt path=TROPOMI&type=1&map=Producttree_TROPOMI_2.html&search_define_file=Define.txt&folder=TROPOMI,720,600} 



        A1.3.8 {mosmovie path=path link=link}

        Voor zgn bewegende plaatjes, defineer een subdirectory, plaats(upload) hierin alle plaatjes. De alle plaatjes worden hieruit achtereenvolgens bewegend (van boven naar beneden, link naar rechts of andersom) afgebeeld

          {mosmovie path='Site_panel/move/' link='/index.php?option=com_content&task=category&sectionid=25&id=110&Itemid=2057'} 

        A1.3.9 {division div=div divsel=divsel}

        Het genereren van een divisie telefoonlijst
           {diVision div=11 divsel=0}

        A2. Foto galerij

          De fotogalerij is gebaseerd op Gallery2 (zie tutorial).

          Functies galery2 o.a:
          • Plaatsen van plaatjes met bijschriften
          • Creeren van (sub)directories.
          • Upload van 1 plaatje of upload van een batch (ZIP) file.




          Naast de bestaande functies is deze galerij uitgebreid met:
          (vereist inloggen met admin gebruiker)

          • Plaatsen van 1 foto in meerdere galeries.


          • Plaatsen van een foto op internet/intranet.


          • Plaatsen van nederlandse en engelse teksten bij een foto.


          • Blader- functie bij het plaatsen van een foto.

            Hiermee kunnen snel de eigenschappen (zoals de bijschriften) van een volgende/vorige foto gemaakt/gewijzigd worden.

          • Mogelijkheid meerdere losstaande galeries (verschillende database).


          • Admin tool in de front-end:

            • Mogelijkheid van username/password per (sub)galerij.
              Definieren van een (externe) gebruiker met een toe te kennen password.

            • Mogelijkheid van een (sub)galerij toewijzen aan een gebruiker.
              (Owner is de Joomla admin gebruiker-id, door de webmaster toegekend).

              Joomla backend user definitie (Administrator=62 en ICT admin user=97):

      A3. KT interface

        Inleiding

        Wat begonnen is als een simpele listing van documenten van een KT-directory is uitgegroeid naar een grafische interface met allerlei opties om een selectie van documenten m.b.v een querie te genereren.
        De verschillende mogelijkheden (met opbouw: simpel-> uitgebreid):

        • KT-Documenten weergeven in een (folder)-listing
          Om documenten uit KT weer te geven op de website is een zgn. KT soap interface gemaakt welke aangeroepen kan worden vanuit het cms systeem met een code (zie A1.3 Editor mambot code) : {moskt}.
          Door hier allerlei opties aan mee te geven kan bijv een directory listing getoond worden vanaf een bepaalde folder. Met diverse opties kan de gewenste metadata in een lijst getoond en op een bepaalde manier gesorteerd worden.(A3.1) De juiste folder en document nummers kan men vinden in KT zelf.
            Voorbeeld: {moskt fFolderId=1234&sel=/Date/Title/Doc nr/Author/Issue/Remarks}


        • Zoekformulier genereren
          Naderhand zijn er ook opties toegevoegd om een zoekformulier te genereren om zowel de data in een bepaald project of vanaf een folder te kunnen zoeken (in o.a. tekst of in metadata) in KT en deze documenten weer te kunnen geven in een listing(A3.2).
            Voorbeeld: {moskt search=1&project=SHAMROC&sel=/Title/Doc nr/Author/Date/Issue}


        • Zoek Queries ipv folder listing
          Voor de projecten kwam de wens om naast een directory listing een KT search query (zie A3.2.2) mee te kunnen geven (welke uitgebreid kan zijn) zodat gezocht kan worden vanaf een folder naar bepaalde type documenten. Deze search quey kan direct opgegeven worden of in verkorte vorm, met m.b.v. een definitie file (de query zelf kan men uit KT zelf herleiden).
            Voorbeeld: {moskt fFolderId=6859&sel=/Doc nr/Title/Cat/Issue/L1/L2/L3/L4/L5&css=default&search_query=(["More (specific for small projects)"]["Document type"] is "CN - Change Note") and (Folder starts with "astro-h")}


        • Zoek queries m.b.v. een grafische interface
          Om een selectie via een grafische interface (een boomstructuur, met een twee lagen structuur zie A3.3) te laten geschieden moeten er diverse files kenbaar aan de uitgebreidere KT interface {moskt path=path} gemaakt worden. Zoals de layout files (met de layout en de posties voor iedere link) met daarin een verkorte vorm van de search query per link. Om alles op de KT-server te kunnnen uitcoderen moet een definite file (waarin beschreven wat de werkelijke KT search opdracht is voor iedere verkorte query) kenbaar aan het systeem gemaakt worden.
            Voorbeeld:
              {moskt path=ASTRO-H&search_define_file=Astro-H.txt&folder=ASTRO-H PDR &producttree_map=Producttree_ASTRO-H_map.html&fFolderId=7149,720,900}
              Maak de (definitie en layout) files en plaats ze in de specifieke project directory (bijv KTproject/ASTRO-H):
              • Defineer alle verkorte KT queries: Astro-H.txt
              • Plaatje definitie en coordinaten 1e en 2e laag: Producttree_ASTRO-H_map.html en Baseline_map.html
              • De plaatjes zelf (1e en 2e laag): ASTRO-H.gif en astro-h-type.png

          M.b.v. een 'tool' een zgn. mambot {aanroep: KTproject}) welke lokaal een preprocessor programma aanroept, is dit sterk vereenvoudigd. Met deze mambot kunnen de project files worden geupload (in de juiste directory), en tevens het editen van definitie files, de tool checked bepaalde filenamen en genereerd de juiste output ({moskt}) code met alle opties).

          In A3.4 wordt beschreven hoe de project-files 'handmatig' op de website (het cms systeem) kan worden geplaatst.

        A3.1 Directory (folder en documenten) listing


          Voorbeeld van een standaard folder listing.
          ({moskt fFolderId=6850})




          Voorbeeld van een folder listing met een andere layout optie en met 2 folders uitgeklapt.
          ( ...&css=paqa&view=subdir&nsubdir=2)



          Voorbeeld van een documenten directory listing met enkele geselecteerde metadata velden.
          ( ...&sel=/Doc%20nr/Title/Cat/Issue/L1/L2/L3/L4/L5/Remarks&css=default)



          Aanroepen vanuit het cms systeem (web pagina):
          • Directe link
            <iframe width="720" height="900" src="https://ktsoap.sron.nl/ktsoap/ktwebservice.php?fFolderId=1234&sel=/Date/Title/Doc%20nr/Author/Issue/Remarks"></iframe>

          • Via een joomla mambot (opent in een iframe):
            Met de code :
                {moskt fFolderId=1234&sel=/Date/Title/Doc%20nr/Author/Issue/Remarks} of:
                {moskt fFolderId=1234&sel=/Date/Title/Doc nr/Author/Issue/Remarks} (spaties worden in {moskt} geconverteerd!)
            worden de documenten uit de opgegeven KT folder weergegeven op de website.

          Weergeven van documenten uit een KT-folder/ of een specifieke KT-document voor download:
          • Selecteer een KT-folder: {moskt fFolderId=1165} (voor de juiste foldernummer, zie url in KT.
          • Selecteer een KT-document: {moskt fDocumentId=27284} (voor de juiste documentnummer, zie url in KT.


          Functionaliteit/Werkwijze folder/document listings:
          • In de Joomla editor is dmv een mambot, de tabel layout en de keuze van de kolommen aan te geven/aan te passen
          • Mogelijkheid van 'interactief' sorteren per kolom (klik op de titel van de desbetreffende kolom).
          • Output opties (Print tabel zonder frame, PDF print output en Export CSV file).

          Rechtenstructuur:
          Standaard worden de documenten weergegeven zonder (extra) in te loggen:
          • bij intern SRON Utrecht en Groningen: De KT rechten van de 'sronpublic' gebruiker
          • bij extern SRON : De KT rechten van de 'worldpublic' gebruiker .
          • Voor documenten die hieronder niet zichtbaar zijn, moet eerst ingelogd worden in KT (zgn. LDAP(=Groupwise) login check) om deze te kunnen tonen.


          Syntax: {moskt commando&option1&option2....., iframe-width, iframe-height}

          moskt commando's:
          Functie Omschrijving Syntax /Voorbeeld
          fFolderId Selecteer een KT-folder &fFolderId=1165
          fDocumentIdSelecteer een KT-document &fDocumentId=27284


          moskt options:
          Functie OmschrijvingSyntax /Voorbeeld
          &sel=Kolom selectie, voor de juiste kolomnaam (metadata), zie KT. &sel=/Title/Doc%20nr/Author/Issue/Cat/Date
          Kolomnaam definitie &sel=/Doc%20nr=Specification
          &alt=Metadata selectie (zelfde formaat als de &sel)
          Deze metadata informatie wordt aan de alt van de link toegevoegd.
          &alt=Internal CI//Control list
          &sort_on=Metadata kolom voor de sortering: &sort_on=Author
          Combinatie van &sort_on en &sort_col is (nog) niet mogelijk!
          &sort_col=Niet Metadata kolom (de zgn Generic Information) voor de sortering: &sort_col=title &sort_col=id
          Combinatie van &sort_on en &sort_col is (nog) niet mogelijk!
          &order=Type sortering (oplopend, aflopend) voor documenten: &order=DESC &order=ASC
          &forder=Type sortering (oplopend, aflopend) voor folders: &forder=DESC &forder=ASC
          &link=Instellen op welke kolom de link(openen van het document) moet plaatsvinden &link=Doc%20nr
          &width=Maximum kolom breedte instellen [default=40 char's]
          &width=0 is uitzetten max width
          &width=70
          &maxnumb=Instellen max items (voor search opdracht) [default=1000] &maxnumb=100
          &out=Instellen Output naar csv,xml file or place output in one table&out=csv
          &out=table
          &out=xml
          &dir=Uitzetten van de folder/document directory [default: &dir=1] &dir=0
          &browse=Uitzetten van de kolom titels (en optie om kolom te sorteren) en de (sub)folders infoline (browsen naar hogere subfolders), met actuele directory info [default: &browse=1], uitzetten folder name info [browse=-1]/td>[&browse=1]; default kolom titles en folrname weergeven
          &browse=0 uitzetten van de kolom titels
          &browse=-1 uitzetten van de kolom titles en de foldename
          &filesize= Uitzetten van het weergeven van de file grootte &filesize=0
          &displ=Uitzetten weergave van documenten in subfolders (alleen de folders weergeven) &displ=nofull
          &lang=Instellen van de 'language' (voor o.a. layout datum) [default: lang=eng] &lang=nl
          &dirpos=Instellen van de positie van de directories tov de files [default: &dirpos=top] &dirpos=bottom &dirpos=top
          &dirpos=order (hierbij wordt de metadata niet getoond!)
          &css=Instellen van de css file op de KT server zonder opgave van de extensie (.css) [default: &css=compact]
          opties (gedefinieerde stylesheets op de KTserver): default,compact,paqa
          Of een stylesheet op de webserver (geef volledig pad met filename op zonder extensie (.css))
          &css=default
          &css=paqa

          &css=http://www.sron.nl/files/KTproject/SAFARI/meetings
          &nsubdir= Uitklappen van een (aantal) subdirectories &nsubdir=2&toolbar=no
          &view=
          &ndoc=
          &nempty=
          Weergave van een directory [default directories weergeven met pictogrammen][&view=path] (icons)
          &view=subdir (no icons)
          &view=block
          • extra option to set the bg & font-color(s) for the boxes (bg-main,bg-second,bg-hover,font,font-hover),eq: [&bgcolor=e8eff3/c9dfec/8cc6e7]
          • extra option &bwidth=xxx Define the block width [default: 220px]
          • extra option &bheight=xxx Define the block height [default: 15px]
          • extra option &blwidth=xxx Define the block line width [default: 220px]
          • extra option &blheight=xxx Define the block line height [default: 15px]

          • extra option: &displ=nofull alleen folders weergeven (geen documenten)
          • extra option &ndoc=1 (no link to empty subfolders)
            &ndoc=2 (show number of docs foreach subdir)
            &ndoc=3 special: display documents in subfolders for nsubdir>1
          • extra option &nempty=0 Don't show the empty folders
            &nempty=1 Show the empty folders
          &toolbar=Uitzetten van de toolbar (csv outp , print, open in nieuw window, pdf outp)&toolbar=no
          &title=Toevoegen van een title boven de pagina &title=Configuration Item Data List (CIDL)
          &mosmsg=Toevoegen van een message tekst &mosmsg=...
          &moshdr=Toevoegen van header tekst (tekst voor de documenten lijst) &moshdr=SRON-SHAMROC-LI-2009-00X
          &mosftr=Toevoegen van footer tekst (tekst na de documenten lijst &mosftr=L1=(extern):%20documents%20 w.r.t.%A0ASIC
          /ETHZ%3Cbr%20/%3EL2=(intern):%20
          documents%20w.r.t.%A0chip%20and%20package%3Cbr%20
          /%3EL3=(intern):%20documents%20
          w.r.t.%A0sub-blocks%3Cbr%20/%3EL5=Close-out%3Cbr%20
          /%3EA=Approved;%20C=Closed;%A0H=on%20
          Hold;%20R=Rejected;%20W=Withdrawn;%20O=Still%20
          open;%20X=Not%20Applicable
          &sortable= Uitzetten van locale (javascript) kolom-sortering (sorteren alleen via de database (webserver)) &sortable=0
          &labels=Uitzetten van het tonen van de kolom labels &labels=0
          &doctypeSelectie document output weergave &doctype=1
          &login=Forceer user (LDAP) login &login=1
          &logout=Forceer user (LDAP) logout &logout=1
          &debug=Show some debug information (execution time of some functions) &debug=1
          Speciale functies:
          &type=dptShow alle 'documents per type' voor een specifiek project&fFolderId=10102&project=MicroCarb&css=default&type=dpt&mdata=69
        • extra option &mdata= selecteer kt-project code [default "small project" code 51]


        • iframe-width, iframe-height
            De output van de KT-server wordt in een iframe geladen in dezelfde webpagina, met de variabelen iframe-width, iframe-height kan de grootte van het iframe ingesteld/gewijzigd worden.


          Enkele voorbeelden:
          • Basis commando met folder selectie en frame grootte instelling, verder standaard instelling: {moskt fFolderId=1165, 500,1200}
          • Folder met specifieke kolom(=metadata) selectie: {moskt fFolderId=1165&sel=/Title/Doc%20nr/Author/Issue/Cat/Date/L1/L2/L3/L5}
          • Voorbeelden met uitgebreide options:
          • {moskt fFolderId=755&sort_on=Date&sel=/Title/Doc%20nr/Author /Issue/Date&dir=0&browse=0&filesize=0&order=DESC&moshdr=SRON-SHAMROC-LI-2009-00X}
          • {moskt fFolderId=2918&sort_on=Author&order=ASC&link=Doc%20nr&sel=/Doc%20nr=Specification/Issue /Date/Title=Title/Cat=Status/Remarks/Author=Code&width=70}
          • {moskt fFolderId=1754&sort_col=title&order=ASC&sel=Title/modified_date&browse=1&filesize=1}

        A3.2 Search option

          A3.2.1 Creeren van een search formulier

          Met het commando &search=1 wordt een standaard search formulier (met de specifieke zoekvelden) gegenereerd om de search opdracht in te kunnen geven.

            Er kan een zoek term ingegeven worden voor:
            • titel van de document (&search_title=...)
            • in de tekst van het document (&search_generalText=... )
            • in de metadata van het document (&search_metadata=... )
            • de verschillende opties kunnen ge-AND en/of ge-OR-d worden (&andor_title=AND&andor_text=OR) of alle opties in een keer(&AndOr=AND).

            Syntax/Voorbeeld:
            https://ktsoap.sron.nl/ktsoap/ktwebservice.php?search=1&project=SHAMROC&search_title=&andor_title=OR&search_generalText=veen&andor_text=OR


          Met het formulier worden bovenstaande search-opties gegenereerd:

          • Zoekformulier (&search=1&project=...) op basis van een opgegeven Project (metadata veld)
            Gezocht kan worden op titel, tekst en of metadata voor het geselecteerde project.

            {moskt search=1&project=SHAMROC&sel=Title/Doc%20nr/Author/Date/Issue}

          • Zoekformulier (&search=1&folder=...) vanaf een opgegeven main-folder
            Gezocht wordt op title, tekst en of metadata vanaf een bepaalde Folder en all onderliggende folders.

            {moskt search=1&folder=SAFARI%20system&sort_on=Date&sel=/Date/Title/Doc%20nr/Author/Issue/Remarks&fFolderId=7149}

            Met aanpassen van de zoekveld namen geeft als output:

            {moskt search=1&folder=Astro-H&sel=/Title/Doc%20nr/Author/Date/Issue&fFolderId=6859 &search_on=Title/DocumentText=Content/Metadata&user=0}


            Generieke search menu options:
            Functie Omschrijving Syntax /voorbeeld
            search= selecteer een search formulier [optie 1,2] &search=1
            search_title= zoek op titel &search_title=
            search_generalText=zoek op document tekst &search_generalText=veen
            AndOr=generieke AND/OR functie voor titel, content en metadata &AndOr=OR
            andor_title= and/or functie &andor_title=OR
            andor_text=and/or functie &andor_text=AND
            search_metadata=zoek op metadata &search_metadata=OR
            folder= start zoeken vanaf een bepaalde folder &folder=SHAMROC
            folder[]= folders selectiesearch=1&folder[]=Sentinel5/GS5-1000&folder[]=Sentinel5/GS5-5000&sel=/Title/Doc%20nr/Author/Date/Issue &fFolderId=10101&search_on=Title/DocumentText=Content/Metadata&user=0&title=sentinel5
            project= selecteer project (uit metadata veld) &project=SHAMROC
            user= disable user login information/login another user &user=0


          • Algemeen KT-zoekformulier ( &search=0) per project/folder

            {moskt search=0&folder=Astro-H&sel=/Doc%20nr/Title/Author/Issue&fFolderId=6859}



        A3.2.2 KT search query's

          Omdat een uitgebreidere KT search query vaak niet direct met de URL kan worden meegegeven (veel te lang en sommige tekens ,zoals spaties en quotes, zijn niet direct toegestaan), kan ook gekozen worden voor een verkorte schrijfwijze met een definitie file waarin de afkortingen worden bepaald (defineer de 'search_qs' voor de verkorte querie en de 'search_define_file' option voor de definities).

          Extra (search querie) options:
          Functie Omschrijving Syntax /Voorbeeld
          search=1 Genereer een search menu &search=1&project=ASTROH

          {moskt search=1&fFolderId=7835&folder=SRONieuws%20intranet&sel=/Title=Title&search_on=DocumentText=Content&sortable=0&user=0}
          search=2Genereer een shamroc search menu (deze optie wordt tzt verwijderd!) &search=2&project=SHAMROC

          &search=2&project=SHAMROC&changes=All
          search_query=... Geef volledige search option (1 query, zonder definitie file) https://ktsoap.sron.nl/ktsoap/ktwebservice.php?&fFolderId=6859&sel=/Doc%20nr/Title/Cat/Issue/L1/L2/L3/L4/L5&css=default&search_query=(["More (specific for small projects)"]["Document type"] is "CN - Change Note")and (Folder starts with "astro-h")&title="CN - Change Note 
          search_qs=... Defineer search option (voor 1 of meerde queries gescheiden door '--', // met een subtitle, subopties en eventueel gebruikmakend van een definitie file).

          met // kan de subtitle per subquery meegegeven worden, extra subopties met // ipv & gescheiden (bijv //sel=Date/Title

          Extra opties:
          &define_file=...
          &folder=...
          &out=table
          &title=...
          &class=...

          Met de optie &out=table kan voor een andere output worden gekonzen (output in 1 tabel),

          Extra definities:
          -- (query split code)
          // (subtitle)
          // (option-1) bijv: //sel=Date/Title // (option-2)


          Extra functionaliteit:
          - Met een file genaamd stylesheet.css in de project directory kan de style van de pagina worden aangepast.

          - De standaard kolomselectie voor bepaalde (project) documenttypes zijn gedefineerd in een tabel ( selection.csv ). deze functie is alleen werkzaam op het search_qs commando niet op een fFolferId=.. optie.


          Let op:
          • opties met scheidingsteken & (&sel=Date/Title)) gelden voor alle queries en opties met // (//sel=Date/Title) voor de subquerie!
          • In een &search_qs=... mogen geen & tekens voorkomen!!



          &search_qs={TN}.{CIM}&$=FWM-XS&search_define_file=Astro-H.txt&toolbar=no&title=FWM-XS TN

          &search_qs={FI}.{STM}.%28{E-03}|{E-04}|{E-05}|{E-06}|{E-07}|{E-08}|{E-13}%29{-}{FI}.{STM}.%28{Q-01}|{Q-02}|{Q-03}|{Q-04}|{Q-05}|{Q-06}|{Q-07}|{Q-08}|{Q-09}%29{-}{FI}.{STM}.%28{N-12}|{O-12}|{P-12}%29{-}{FI}.{All}.%28{E-03}|{E-04}|{E-05}|{E-06}|{E-07}|{E-08}|{E-13}%29{-}{FI}.{All}.%28{Q-01}|{Q-02}|{Q-03}|{Q-04}|{Q-05}|{Q-06}|{Q-07}|{Q-08}|{Q-09}%29{-}{FI}.{All}.%28{N-12}|{O-12}|{P-12}%29 &sort_on=Document%20type&sel=/Date/Title/Doc%20nr=Doc-nr/Author/Issue/Remarks&folder=SAFARI%20system&search_define_file=define.txt&toolbar=no&title=FI_:_As_Designed_STM

          {moskt fFolderId=6859&css=default&search_qs=(Folder starts with "ASTRO-H" AND["More (specific for small projects)"]["Internal CI"] starts with "FW" AND["More (specific for small projects)"]["Document type"] is "PL - Plan" OR ["More (specific for small projects)"]["Document type"] is "PR - Procedure" AND ["More (specific for small projects)"]["Control list"] is "CDSL (As required)")--(Folder starts with "ASTRO-H" AND["More (specific for small projects)"]["Internal CI"] starts with "FW" AND["More (specific for small projects)"]["Document type"] is "SP - Specification" OR ["More (specific for small projects)"]["Document type"] is "SW - Statement of Work" AND ["More (specific for small projects)"]["Control list"] is "CDSL (As required)")}

          <img id="ConvertedImage" SRC="Baseline.png" name="RasterImage" BORDER="0" USEMAP="#visImageMap" > <MAP NAME="visImageMap"> <AREA shape="POLYGON" ALT="ALL" origTitle="ALL" TITLE="ALL" HREF="{CN}.{CIM}//CN - Change Note{-}{CR}.{CIM}//CR - Change Request{-}{NC}.{CIM}//NC{-}{RW}.{CIM}//RW - Request for Waiver{-}{MA}.{CIM}//MA{-}{DG}.{CIM}//DG{-}{LI}.{CIM}//LI{-}{PL}.{CIM}//PL{-}{PR}.{CIM}//PR{-}{RP}.{CIM}//RP{-}{SP}.{CIM}//SP{-}{TN}.{CIM}//TN&title=ALL" COORDS="0,379,304,379,304,342,0,342,0,379"> <AREA shape="POLYGON" ALT="SP" origTitle="SP" TITLE="SP" HREF="{SP}.{CIM}&title=SP" COORDS="171,266,304,266,304,228,171,228,171,266" >

          https://ktsoap.sron.nl/ktsoap/ktwebservice.php?&sort_on=Document%20type&path=/files/KTproject&search_define_file=ASTRO-H/Astro-H.txt&title=FWM%20:%20CN.CIM//CN%20-%20Change%20Note-CR.CIM//CR%20-%20Change%20Request-NC.CIM//NC-RW.CIM//RW%20-%20Request%20for%20Waiver-MA.CIM//MA-DG.CIM//DG-LI.CIM//LI-PL.CIM//PL-PR.CIM//PR-RP.CIM//RP-SP.CIM//SP-TN.CIM//TN&title=ALL&folder=ASTRO-H&search_qs={CN}.{CIM}//CN%20-%20Change%20Note{-}{CR}.{CIM}//CR%20-%20Change%20Request{-}{NC}.{CIM}//NC{-}{RW}.{CIM}//RW%20-%20Request%20for%20Waiver{-}{MA}.{CIM}//MA{-}{DG}.{CIM}//DG{-}{LI}.{CIM}//LI{-}{PL}.{CIM}//PL{-}{PR}.{CIM}//PR{-}{RP}.{CIM}//RP{-}{SP}.{CIM}//SP{-}{TN}.{CIM}//TN&title=ALL&$=FWM
          search_query_file=...Geef search option geheel gedefineerd in een (locale) file &search_query_file=Baseline.txt&folder=SAFARI/web
          search_xml=...Geef search option met output is XML code https://ktsoap.sron.nl/ktsoap/ktwebservice.php?search_xml=1 &sel=/Title/Doc%20nr/created_by/mime_display/Date/Issue &search_title=$text&andor_title=OR&search_generaltext=.$text. &andor_text=OR&search_metadata=$text
          Met $text is de opgegeven zoekterm
          $=... defineer de variabele in de definitie file &$=FWM-XS

          Bijv in definitie file:
          {CIM} ; (["More (specific for small projects)"]["Internal CI"] starts with "$")
          FromDate=...
          ToDate=...
          Toon de documenten na (FromDate) of vanaf (ToDate) een gewenste datum.
          De tekststring dd-mm-yyyy wordt hiervoor omgezet mbv de functie strtotime
          Voorgedefineerde datum: 'today'
          &FromDate=today

          &FromDate=02-02-2012


          Algemeen voorbeeld:
            {moskt &fFolderId=6859&css=default&search_query=([%22More%20(specific%20for%20small%20projects)%22]
            [%22Document%20type%22]%20is%20%22RID%20-%20Review%20Item%20Discrepancy%22)and%20
            (Folder%20starts%20with%20%22astro-h%22)&title=RI%20-%20Review%20Item%20Discrepancy}


            De speciale tekens %20 voor een spatie en %22 voor een " etc .. zie ref_urlencode ) worden ook omgezet door de functie {moskt} zelf!


          Voorbeeld met een definitie file:
            {moskt &sort_on=Document%20type&search_define_file=Astro-H.txt&title=FWM-XS%20CR&search_qs={CR}.{CIM}&$=FWM-XS}


          Nog een (uitgebreidere) voorbeeld :
            {moskt &sort_on=Document%20type &sel=/Date/Title/Doc%20nr=Doc-nr/Author/Issue/Remarks
            &folder=SAFARI%20system&search_define_file=define.txt&toolbar=no&title=FI_:_As_Planned_Project
            &search_qs={FI}.{PL}.%28{C-01}|{C-02}|{C-03}|{C-04}%29{-}{FI}.{PR}.
            %28{C-01}|{C-02}|{C-03}|{C-04}%29{-}{FI}.{RI}.%28{C-01}|{C-02}|{C-03}|{C-04}%29 }


            Voorbeeld: (gedeelte) van de csv-file 'define.txt':
            (hierin is gedefineerd de code welke meegegeven wordt met de optie &search_qs en de volledige (exacte) KT search optie):

            ;special   ; { 
            ;separator ; {-}
            .          ; AND ; 
            |          ; OR ; 
            {SS}       ; (["More (specific for SAFARI)"]["Level"] is "0- SS") 
            {FI}       ; (["More (specific for SAFARI)"]["Level 0"] is "0-1- FI") 
            {GSE}      ; (["More (specific for SAFARI)"]["Level 0"] is "0-2- GSE") 
            {SW}       ; (["More (specific for SAFARI)"]["Level 0"] is "0-2-1- SW/Test Env.") 
            
            {DCU-SPS}  ; (["More (specific for SAFARI)"]["Level 1"] is "0-1-3-1- (SPS)")
            {DCU-DCRE} ; (["More (specific for SAFARI)"]["Level 1"] is "0-1-3-2- (DCRE)")>
            {IES}      ; (["More (specific for SAFARI)"]["Level 1"] is "0-1-4- (IES)")

            Opmerkingen:
            • Het is raadzaam om een unieke code te defineren welke zich niet in de KT metadata velden bevindt (vandaar de extra {} tekens).
            • De te defineren code wordt in een URL megegeven (vandaar een | teken en niet een + teken voor de OR functie).
            • Met het seperator teken kunnen meerdere quereties opgegeven worden welke afzonderlijk (na elkaar) uitgevoerd worden in een scherm pagina.

        A3.2.3 KT-Search option voor de website (XML interface)

          Om de KT-documenten zichtbaar te maken met een search opdracht op de website wordt de search opdracht gegeven vanuit de website aan de KT-server. De KT-server antwoord met XML code welke daarna gedecodeerd wordt op web-site. Deze data wordt daarna geintegreerd in de weergave(output) van de (website) zoekopdracht.

          Er is in een joomla mambot gedefineerd:
          https://ktsoap.sron.nl/ktsoap/ktwebservice.php?&search_xml=1&sel=/Title/Doc%20nr/created_by/mime_display/Date/Issue
          &search_title=$text&andor_title=OR&search_generaltext=".$text."&andor_text=OR&search_metadata=$text"

          • Er is op deze wijze gedefineerd dat de opgegeven tekst zich in de titel of in een van de metadata velden zich kan bevinden.
          • Met de optie &sel= worden de kolommen gedefineerd, XML search options: zie A3.2.1

          Voorbeeld: (gedeelte) XML code:
             <data>
          	<row>
          		<Title> ARBO Jaarverslag 2004 </Title>
          		<Doc_nr> -- </Doc_nr>
          		<Created_by> Jan van Schaijk </Created_by>
          		<Mime_display> Word Document </Mime_display>
          		<Date> -- </Date>
          		<Issue> -- </Issue>
          		<Link> ktwebservice.php?sel=/Title/Doc%20nr/created_by/mime_display/Date/Issue&order=&sort_col=Title&fDocumentId=237</Link>
          	</row>
          	<row>
          		<Title> ARBO Jaarverslag 2005 </Title>
          		<Doc_nr> -- </Doc_nr>
          		<Created_by> Jan van Schaijk </Created_by>
          		<Mime_display> Word Document </Mime_display>
          		<Date> -- </Date>
          		<Issue> -- </Issue>
          		<Link> ktwebservice.php?sel=/Title/Doc%20nr/created_by/mime_display/Date/Issue&order=&sort_col=Title&fDocumentId=314</Link>
          	</row>
            </data>

        A3.2.4 Specifieke project search options (project SHAMROC versie)


      A3.3 Project documentatie weergave met de KT-soap interface

        Met de opties beschreven in A3 kan een directory listing of een KT query listing worden gegenereerd vanuit het cms systeem.
        De vraag kwam om naast de tekst weergave, ook vanuit een grafische omgeving een directory listing en een KT-query listing te maken
        Dit zou wat html kennis vereisen. Gekozen is voor een opzet om dit (eenvoudiger en generieker) door een (php) programma te laten doen met de bijbehorende (simpele) definitie- en layout files.
        Het PHP-programma op de webserver wordt aangeroepen dmv een mambot (code moskt} en {ktproject})

        Voor het weergeven van de optie 'Documents per product' is als voorbeeld een grafische weergave gekozen met '2 lagen' en voor 'Documents per type' een met alleen tekst weergave.

        Per paragraaf kan gekozen worden om het geheel naar eigen hand te zetten met de {moskt} mambot (de zgn. 'onderliggende' laag) of mbv een userinterface, aan te roepen dmv de mambot {ktproject}.

        A3.3.1 Grafische weergave (van KT query search naar document listing)



        Opzet:
        Gewenst is een 2 laags systeem (selectie project specifiek en document type selectie). De eerste laag, met bijbehorende layout-definitie file genereerd een grafische weergave met de bijbehorende links en start bij iedere link een tweede grafische weergave welke uiteindelijk een listing van documenten geeft.

        • De 2 layout definitie files bestaan uit het 'plaatje' zelf (met extensie .png, .gif of .jpg) met de posties (code <AREA coord=..) voor iedere link en de uit te voeren query (< a href=") De map files kunnen gemaakt worden met bijv Visio of Gimp.
        • Aan de link (< a href=) in de 2 layout files wordt alleen de search query meegegeven, het PHP-programma verzorgd de verdere aanvulling aan de link naar het juiste subprogramma met de vereiste opties.
        • De queries in de layout definitie file kunnen ook in verkorte vorm worden ingegeven, als ook een KT query definitie file (een csv file met extensie .txt) wordt meegegeven.
        • Alle files worden aan het mambot {moskt} meegegeven en zonodig doorgegeven aan de 'tweedelaags' PHP-programma.

        Werkwijze:
        • Creeër beide layout ('map') files
          met bijv Visio (Windows) of Gimp (Windows/Linux, zie A7.7 met de bijbehorende links


          Met:
          Link (in code HREF="..") : de search query (volledig of in verkorte vorm met een definitie file)
          Title (in code Title="..") : de titel boven de pagina

          Voorbeeld map-definitie file: Baseline_map.html met de image astro-h-type.png
          <img id="ConvertedImage" src="astro-h-type.png" alt="" name="RasterImage" usemap="#visImageMap" border="0">
          
          <MAP NAME="visImageMap">
          <area shape="rect" coords="0,1,133,39"      href="{CN}.{CIM}&sel=/Doc%20nr/Title/Cat/Issue/L1/L2/L3/L4/L5/Remarks">
          <area shape="rect" coords="1,59,133,92"     href="{CR}.{CIM}&sel=/Doc%20nr/Title/Cat/Issue/L1/L2/L3/L4/L5/Remarks">
          <area shape="rect" coords="170,284,303,322" href="{TN}.{CIM}&sel=/Date/Title/Doc%20nr=Doc-nr/Author/Issue/Remarks">
                                ...
          </MAP>
          
        • Maak de querie definitie file
          Dit is een csv file met 2 kolommen (eerste kolom verkorte schrijwijze link, tweede kolom de bijbehorende KT search query).

          Voorbeeld Query-definitie file (naam gedefineerd mbv de optie '&search_define_file=Astro-H.txt') : Astro-H.txt
          {CN}	; (["More (specific for small projects)"]["Document type"] is "CN - Change Note")
          {MA}	; (["More (specific for small projects)"]["Document type"] is "MA - Manual")
          {LI}	; (["More (specific for small projects)"]["Document type"] is "LI - List")
          {PL}	; (["More (specific for small projects)"]["Document type"] is "PL - Plan")
          
          {CIM}   ; (["More (specific for small projects)"]["Internal CI"] starts with "$")
                                ...
          
          Opmerkingen:
          - De code {} om de variable is gedaan om deze uniek te maken.
          - Ivm met doorgifte via de url zijn voor de and(.) en or(|) speciale tekens gekozen.
          - De code {CIM} is toegevoegd om de varabele $, de selectie in de eerste pagina, in te vullen.
          - {-} Deze code is het scheidingsteken tussen losstaande meerdere queries.



        A3.3.1.1 Defineer en plaats alle files mbv het {ktproject} mambot

        Dit is een extra 'laag' over de {moskt} mambot (is als apart programma werkzaam op de webserver) en vereenvoudigd de werkzaamheden en voert de benodigde checks uit.

        Werkwijze:
        • Edit de pagina, plaats (na inloggen cms, en edit gewenste pagina) een mambot (speciale code):

          Syntax: {ktproject <CMS-folder>,<KT-Folder>, <type>, <map1> , <map2>}     Voorbeeld: {mosproject ASTRO-H,,map}

          Met :
            <CMS-folder>
              het geselecteerde project (de folder op de website waar alle ge-uploade definite- en map files komen te staan.
            <KT-folder>
              de mogelijkheid om een afwijkende KT-start folder op te geven.
            <type>
              het type document:
                      map    ; 2-laags versie  
                      list   ; 1-laags versie  
                      define ; alleen text (zonder plaatjes) zoals 'eventregister' 
        • Verwijderen 'rechterflap' (rechter zijpaneel, standaard SRON-layout) op de webpagina
          Voeg in de title van de pagina twee extra spaties toe (eind van de regel) en het rechter 'flapje' is weg!

        • Start de applicatie (klik op [admin link] op de desbetreffende pagina, onderaan in licht grijs)



        • KTproject programma eigenschappen/extra functionaliteit:
          • Indien mogelijk worden alleen de images(png, jpg, gif) weergegeven voor het desbetreffende project (welke gedefineerd is in de html (map) file (nieuwe functie per oct 2011).
          • De image naam gedefineerd in de (Producttree) list (type:html) file wordt aangepast aan de naam van de gedefineerde list file.
          • Uit de gedefineerde map file (o.a. gemaakt in VISIO) worden alleen de hoognodige opties van de <AREA> tag overgenomen (andere opties zoals javascript: onmouseover() etc. worden niet overgenomen). Ook wordt de de html code (o.a. <href=...) in de map files gechekt op niet toegestanen tekens, zoals spaties welke vervangen wordt door de code '%20'.
          • De .html,.css en .txt files kunnen gedownload en 'on-line' (edit) aangepast worden.
          • Door uploaden van de map files(s), de images en de eventuele definitie file wordt ook specifieke {moskt} code met alle opties (bepaald door de ingegeven velden en de eventuele extra meegegeven opties aan {moskt} in de editor) op de desbetreffende pagina gegenereerd.
          • D.m.v. een stylesheet (er wordt gekeken of de definitie file: 'stylesheet.css' in de desbetreffende directory bestaat) kan de pagina layout aangepast worden.
            Ook per query kan de layout aangepast worden als de optie &class=.. wordt meegegeven per query, een prefix wordt dan voor de class geplaatst bij de desbetreffende query output.

            Aanpassen van de layout (vgl L1,L2,L3,L4,L5 en Author posities) met de stylesheet.css file

          • Voor de Baseline_map files (standaard:Baseline_map.html) kan door toevoeging van de geselecteerde waarde van de eerste laag een gewijzigde map file worden geladen (als de betreffende file aanwezig is in de project directory, bijv Baseline_map_CIH-Flight.html (met selectie CIH-Flight selectie in laag 1).

            Selectie FI (Baseline_map_FI.html)

            Selectie TB (Baseline_map_TB.html)
            Verschillende layout na selectie eerste grafische laag



        A3.3.1.2 Opzet mbv het {moskt} mambot

        Hierbij wort gebruik gemaakt een mambot {moskt path=path&...} op de dezbetreffende pagina welke een PHP script (Productree.php) aanroept op de CMS-server.

        Syntax: {moskt path=<path>&<KT-opties>, width, height}

        Voor de KT-opties en de KT-query opties, zie A3.1 en A3.2.2.

          Voorbeeld met een definitie file en een grafische selectie pagina:
            {moskt path=ASTRO-H&search_define_file=Astro-H.txt&folder=ASTRO-H%20PDR
            &producttree_map=Producttree_ASTRO-H_map.html&fFolderId=7149,720,900}


            Dit genereert de URL (nadat een link is geselecteerd (klik image)):
            https://ktsoap.sron.nl/ktsoap/ktwebservice.php?&sort_on=Document%20type &sel=/Date/Title/Doc%20nr=Doc-nr/Author/Issue/Remarks
            &search_define_file=Astro-H.txt &toolbar=no&title=FWM-XS%20TN&search_qs={TN}.{CIM}


            Dit genereert intern de KT-soap interface een zoekopdracht:
            (["More (specific for small projects)"]["Document type"] is "TN - Technical Note")AND(["More (specific for small projects)"]["Internal CI"] starts with "FWM-XS")

        Laag-1:
        Voorbeeld map definitie file: Producttree_map.html met de image ASTRO-H.gif.
        <IMG id="ConvertedImage" SRC="ASTRO-H.gif" ALT="Page-1" name=RasterImage BORDER="0" USEMAP="#visImageMap">
        
        <MAP NAME="visImageMap">
        <AREA shape="POLYGON" TITLE="ASTH docs" HREF="ASTH" target="_top" COORDS=" 237,32 316,32 316,0 237,0 237,32" > 
                              ... 
        Met 'HREF=' een gedeelte (laag-1) van de verkorte querie (laag-2 vult dit verder aan).

        Laag-2:
        Voorbeeld map-definitie file: Baseline_map.html met de image astro-h-type.png
        <img id="ConvertedImage" src="astro-h-type.png" alt="" name="RasterImage" usemap="#visImageMap" border="0">
        
        <MAP NAME="visImageMap">
        <area shape="rect" coords="0,1,133,39"      href="{CN}.{CIM}&sel=/Doc%20nr/Title/Cat/Issue/L1/L2/L3/L4/L5/Remarks">
        <area shape="rect" coords="1,59,133,92"     href="{CR}.{CIM}&sel=/Doc%20nr/Title/Cat/Issue/L1/L2/L3/L4/L5/Remarks">
        <area shape="rect" coords="170,284,303,322" href="{TN}.{CIM}&sel=/Date/Title/Doc%20nr=Doc-nr/Author/Issue/Remarks">
                              ...
        </MAP>
        
        Opmerking: De 'href="..." geeft de verkorte query aan (zie definitie file) met een extra optie kan worden megegeven welke kolommen geselecteerd moeten worden

        • Upload in de project directory: (zie A3.4))
          • beide map (html) files (gedefineerd met de opties &producttree_map=... &basline_map=... )
          • de 2 images (gedefineerd in map files)
          • de querie definitie file (gedefineerd met &search_define_file=...)

        • Defineer in het cms systeem (editer) op desbetreffende pagina
          • Defineer de link naar de project pagina

            Voorbeeld:
             {moskt path=Astro-H&search_define_file=Astro-H.txt&folder=ASTRO-H%20PDR
              &producttree_map=Producttree_ASTRO-H_map.html,720,900}
            
        Technische achtergrond:
          Dit type document weergave bestaat uit 2 tussenlagen met images die uiteindelijk een listing van de gezochte documenten weergeeft.

        • Laag-1 (Script Producttree.php):
          Dit programma leest een layout definitie file waarin zich het plaatje met de map posities bevindt en genereert hieruit de specifieke links (met opties) naar de tweede laag van het php programma.

          • Script: Producttree.php
            • opties:
              Laag-1:
              • &map =<map filenaam> ; welke de plaatjes met de coordinaten (map) bevat van de 1e laag [default: Baseline_map.php]
              Laag-2:
              • &search_define_file=<file> ;definitie file (op de webserver) voor alle query afkortingen
              • &producttree_map=<file> ;filenaam van de plaatjes met de coordinaten van de 2e laag [default:Producttree_map.html]
              • &folder=<folderID> ;project main-folder (nodig voor o.a. authenticatie check)

          • Leest input file : Producttree_map.html (met de image ASTRO-H.gif (gedefineerd in de map file))
            met de bijbehorende positie van de links):

        • Dmv de optie 'prod=<value>' wordt de keuze uit het eerste programma doorgegeven aan de 2e laag.

          Voorbeeld gegenereerde link
             http://www.sron.nl/files/HEA/ASTRO-H/Producttree.php?prod=ASTH&.....
          

        • Laag-2 (Script Producttree.php?prod=)
          Dit programma gedeelte leest de 'tweede laag' layout file (plaatje en de posties) en genereert een pagina met links (querie opgebouwd uit de doorgestuurde gegevens van het eerste programma gecombineerd met de selectie van dit tweede programma) voor iedere link.
          Doordat de queries heel uitgebreidt kunnen zijn en de KT-metadata velden veel tekst kunnen bevatten is een verkorte notatie toegepast en een definitie tabel wordt meegestuurd voor de KTsoap interface.

          • De opties van laag-1 (&prod=<optie>) worden doorgegeven aan dit script.

          • Voorbeeld Query-definitie file (naam gedefineerd mbv de optie &search_define_file=Astro-H.txt') : Astro-H.txt
            Opmerking: de variable '$' wordt hier dus ingevuld door de vorige pagina en de code {} om de variable is gedaan om deze uniek te maken.

        • Resultaat
          Uiteindelijk worden de documenten in een lijst getoond voor de opgegeven query-selectie
          Voorbeeld link (gebruik makend van de opties: 'search_qs=' en 'search_define_file'):
          https://ktsoap.sron.nl/ktsoap/ktwebservice.php?&sort_on=Document%20type&search_define_file=Astro-H.txt
          &title=FWM%20RP&search_qs={RP}.{CIM}&$=FWM%20&sel=/Date/Title/Doc%20nr=Doc-nr/Author/Issue/Remarks
          
          Opmerking: de spaties zijn geconverteerd naar de code '%20' (in links mogen o.a. geen spaties voorkomen)

        A3.3.2 De 1 laags onderverdeling



        Opzet:
        Creeër een html file met de gewenste layout met de bijbehorende links (verkorte ingave query).

        Werkwijze:
        • Creeër de layout ('map') file met bijv Visio (Windows) of Gimp (Windows/Linux, zie A7.7 met de bijbehorende links (html file) Baseline_map.html
          <IMG id="ConvertedImage" SRC="Tropomi.gif" ALT="Page-1" name=RasterImage BORDER="0" USEMAP="#visImageMap">
          
          <MAP NAME="visImageMap">
          <AREA shape="POLYGON" TITLE="T-FE-GS-O" HREF="{T-FE-GS-O}" COORDS=" 67,601 150,601 150,551 67,551 67,601">
          <AREA shape="POLYGON" TITLE="T-FE-GS-D" HREF="{T-FE-GS-D}" COORDS=" 67,534 150,534 150,484 67,484 67,534">                      ...
          </MAP>
          
          Opmerking: m.b.v. de href="{T-FE-GS-U}" wordt dmv een PHP functie('lnk') de uiteindelijke link uit de opgegeven parameter en de meegegeven settings (definitie file) gegenereerd.

        • Maak de querie definitie file (csv file) define.txt
          {T}       ; (["More (specific for small projects)"]["Internal CI"] is "T")
          {T-IND}   ; (["More (specific for small projects)"]["Internal CI"] is "T-IND")
          {T-FE}    ; (["More (specific for small projects)"]["Internal CI"] is "T-FE")
                                ...
          

        A3.3.2.1 Defineer en plaats alle files mbv het {ktproject} mambot

        • Plaats een mambot op de web pagina (zie verder A3.3.1.1) :
          Syntax: {ktproject <cms-project>,<kt-folder>,<list,map-file1><list,map-file2>}   vbd: {ktproject SAFARI,,list,AIV.html}

          Met:
            - 'cms-project' het geselecteerde project (op de webserver en de KT-folder)
            - 'kt-folder' alternatieve kt-folder
            - 'list' het type document (1 laags).
            - 'list-map' extra optie (voor: Doc's per discipline): de map file i.p.v. de standaard file (Producttree_list.html)




        • Start de applicatie.
          Door het uploaden van de map, images- en de eventuele definitie file wordt ook de {moskt} code op de desbetreffende pagina geplaatst.

        A3.3.2.1 Opzet mbv het {moskt} mambot

        Hierbij gebruik makend van een mambot {moskt path=path&type=1&...} welke een PHP script (Baseline_1.php) aanroept op de cms server.

        Syntax: {moskt path=<path>&type=1&<KT-opties>,width, height}


        • Upload in de project directory: (zie A3.4))
          • map file
          • de image (gedefineerd in de map files)
          • de querie definitie csv file (gedefineerd met &search_define_file=...)

        • Creeër de link in cms (Joomla) pagina/editer:
          Voorbeeld:
            {moskt path=TROPOMI&type=1&map=Producttree_TROPOMI_1.html&search_define_file=define.txt,720,600}
          

        Technische achtergrond
        • Script ('1 laags versie'): Baseline_1.php
          Dit programma leest een html file (plaatje en de posties) en genereert een link (opgebouwd uit de selectie gecombineerd met een definitie file) voor ieder blokje.
          Doordat de queries heel uitgebreidt kunnen zijn en de KT-metadata velden veel tekst kunnen bevatten is een afkorting gemaakt en een definitie tabel wordt meegestuurd voor de KTsoap interface.

          • Baseline_1.php (1-laags versie) opties:
            • &search_define_file=<file> ;definitie file voor alle query afkortingen
            • &map =<map> ;filenaam, welke de plaatjes met de coordinaten (map) bevat
            • &folder=<folder> ;main-folder van het project (nodig voor authenticatie check)


        • Resultaat
          Uiteindelijk worden de documenten in een lijst getoond voor de opgegeven Query-selectie
          https://ktsoap.sron.nl/ktsoap/ktwebservice.php?&sort_on=Document%20type
          &sel=/Date/Title/Doc%20nr=Doc-nr/Author/Issue/Remarks
          &folder=TROPOMI%20system&search_define_file=define.txt&toolbar=no&title=T-FE&search_qs={T-FE}
          

        A3.3.3 Text weergave (van Query-search naar document-listing)



        Opzet:
          Bij deze versie is het uitgangspunt een html file met wat simpele code/definitie.
          Voor iedere link (href=) in de definitie file moet de gewenste query (verkort) opgegeven worden en eventueel een specifieke selectie.
          Hierbij wordt ook gebruik gemaakt van het '1 laags' php script (Baseline_1.php) om de html file met de vereenvoudigde queries en de definitie file in te lezen om de juiste links te genereren.


        Gedefinieerde kolom(=metadata) selectie
          De weergave en de keuze van de kolommen (metadata) bij een bepaalde querie is generiek aangepakt mbv een definitie csv-file (document-type gecombineerd met bepaalde opties) op de KT-server. Er behoeft hierdoor in principe geen extra selectie meegegeven te worden bij iedere zoekopdracht (search_qs=...).

          Bij een project search query wordt gekeken naar het document type(metadata) van de weer te geven files (in de regel wordt het document type van de eerste voorkomende document bekeken). Afhankelijk van het document-type wordt bepaald (mbv de definite file) welke opties meegegeven moeten worden (keuze kolommen, sortering, het weergeven van een footer tekst .. etc).

          • Voorbeeld definitie kolom selectie file:
            "CN - Change Note"   ; sort_on=Doc%20nr&sel=/Doc%20nr/Title/Cat/Issue/L1/L2/L3/L4/L5/Remarks
            "MA - Manual"        ; sort_on=Doc%20nr&sel=/Doc%20nr/Title/Author/Issue/Remarks
                                  ...
            
            Eerste kolom is het document type, 2e kolom zijn de KT opties (zie tabel moskt options in A3.1).

        Werkwijze:
        • Maak de html file met de gewenste tekst opmaak en de bijbehorende vereenvoudigde links (Producttree_TROPOMI_2.html)
          Voorbeeld met link
          <b>CN - </b> <a HREF="{CN}">Change Note</a><br >
          <b>CR - </b> <a HREF="{CR}">Change Request</a><br >
                                ...
          
        • Maak een KT query definitie file (define.txt)
          {CN}	; (["More (specific for small projects)"]["Document type"] is "CN - Change Note")
          {CR}	; (["More (specific for small projects)"]["Document type"] is "CR - Change Request")
          {NC}	; (["More (specific for small projects)"]["Document type"] is "NC - Non-Conformance")
                                ...
            

        A3.3.3.1 Defineer en plaats alle files mbv het {ktproject} mambot

        • Plaats een mambot op de gewenste pagina (zie verder A3.3.1.1)
          Syntax: {ktproject ASTRO-H,,list}

          Met 'ASTRO-H' het geselecteerde project, en 'list' het type document (1 laags).

        • Start de applicatie.
          Door uploaden van de map, images- en de eventuele definitie file wordt ook de {moskt} code op de desbetreffende pagina geplaatst.

        A3.3.3.2 Opzet mbv het {moskt} mambot

        Syntax: {moskt path=<path>&type=1&<KT-opties>,width, height}

        Voor de KT-opties en de KT-query opties, zie A3.1 en A3.2.2. , met type=1 voor de eenlaags versie

        • Upload in de project directory: (zie A3.4))
          • Plaats html file
          • Plaats de querie definitie csv file (gedefineerd met &search_define_file=...)

        • Definier de link in cms (Joomla) pagina/editer:
            {moskt path=TROPOMI&type=1&map=Producttree_TROPOMI_2.html&search_define_file=define.txt,720,600}
          


        Technische achtergrond:
        • Definieer de layout met alle links per type in een .html file, dit gecombineerd met de definitie file en het php script onstaan de volgende links
          De pagina moet in een zgn <iframe> geplaatst worden omdat de KT server zich op een andere server bevindt dan de SRON website en de pagina a.h.w. in een frame op de SRON webpagina getoond moet worden.

          Voorbeeld-1 (een folder listing met de optie: '&fFolderId='):
          <b>CN - </b>
          <a href='https://ktsoap.sron.nl/ktsoap/ktwebservice.php?&fFolderId=2376
          &sel=Title/Doc%20nr/Author/Issue/Date/Remarks'>Change Note</a><br/>
          
          Voorbeeld-2 (een search KT query met de optie: '&search_query='):
          <b>CN - </b>
          <a href='https://ktsoap.sron.nl/ktsoap/ktwebservice.php?&fFolderId=6859&sort_on=Doc%20nr
          &sel=/Doc%20nr/Title/Cat/Issue/L1/L2/L3/L4/L5/Remarks&css=default
          &search_query=(["More (specific for small projects)"]["Document type"] is "CN - Change Note")and 
          (Folder starts with "astro-h")&title="CN - Change Note'>Change Note</a><br/>
          
          <b>CR - </b>
          <a href='https://ktsoap.sron.nl/ktsoap/ktwebservice.php?&fFolderId=6859&sort_on=Doc%20nr
          &sel=/Doc%20nr/Title/Cat/Issue/L1/L2/L3/L4/L5/Remarks&css=default
          &search_query=(["More (specific for small projects)"]["Document type"] is "CR - Change Request")and 
          (Folder starts with "astro-h") &title=CR - Change Request'>Change Request</a><br/> 
          
          Opmerkingen:
          • de '&fFolderId=' optie is ook meegegeven (=hoofd folder van het project) voor de rechten check.
          • I.p.v. de optie '&search_query=' kan voor uitgebreidere queries de gecombineerde optie 'search_qs=' en 'search_define_file' gebruikt worden (zie A3.3.1).

        • Output: genereert uiteindelijk een directory listing (vbd-1) of een listing van files m.b.v. een query (vbd-2).

          Voorbeeld-1 (een folder listing '&fFolderId='):
          https://ktsoap.sron.nl/ktsoap/ktwebservice.php?&fFolderId=1162
          &sort_on=Doc%20nr&sel=/Title/Doc%20nr/Author/Issue/Date/Remarks
          

          Voorbeeld-2 (een KT search query '&search_query='):
          https://ktsoap.sron.nl/ktsoap/ktwebservice.php?&fFolderId=6859&sort_on=Doc%20nr
          &sel=/Doc%20nr/Title/Author/Issue/Remarks&css=default
          &search_query=([%22More%20(specific%20for%20small%20projects)%22]
          [%22Document%20type%22]%20is%20%22SP%20-%20Specification%22)and%20(Folder%20starts%20with%20%22astro-h%22)
          &title=SP%20-%20Specification 
          Opmerking: de spaties zijn geconverteerd naar de code '%20' (in links mogen geen spaties voorkomen)



        A3.4 Project (KT) documenten definitie en uploaden voor de {moskt} methode

        De genoemde project specifieke files moeten op de website geplaatst - en gewijzigd kunnen worden door de gebruiker.
        Dit gaat mbv een KT soap interface welke mbv de code {moskt} met de vele opties (zie A3 {moskt} opties) aangeroepen kan worden.

        Het definieren van een mambot zoals {moskt}
          Om de mambot {moskt ..} in een pagina te kunnen zien moet de editor eigenschap op No WYSIWYG Editor gezet worden (na inloggen -> intranet-> Your Details -> User Editor).


          Hier een voorbeeld van een query search listing mbv de mambot {moskt} met alle opties voor een 'upcoming meetings' selectie in de cms editor.
          De {moskt} opties:
          • Folder selectie: fFolderId=5714 (voor de inlog rechten
            (check op deze folder of er ingelogd moet worden, of sron-intern de rechten heeft, om de folders te tonen)
          • Project selectie (vanaf hier zoeken): folder=SAFARI/web
          • De KT-search querie: search_qs=([%22More%20(specific%20for%20SAFARI)%22][%22Document%20type%22]%20is%20%22MM%20-%20Minutes%20of%20Meeting%22)
            opm. of : search_qs=(["More (specific for SAFARI)"]["Document type"] is "MM - Minutes of Meeting") de 'verboden' tekens worden in {moskt} aangepast.
          • De sortering op de metadata 'Date': sort_on=Date&order=ASC
          • De kolom selectie: sel=/Date/Title/Remarks
          • Extra optie aan de search query (omdat de metadata veld 'Date' geen date-formaat maar tekstformaat heeft kan de search from en to selectie niet in de query zelf!): FromDate=today




        Het plaatsen van project documenten op de website
          Let op: Het pad voor de project specifieke documenten vanaf de server is /KTproject.

          • Start de filemanager (inloggen CMS en dan intranet->filemanager).
            Ga naar de specifieke project directory (eq: KTproject/ASTRO-H)
            Hier staan de project definitie files (.txt) en de plaatjes(.gif/.jpg) en de map files (.html).



          • Upload/download van de (definitie) files
            Hier kunnen de files ge-download en ge-upload worden. Bij updaten van een file, eerst de file op de site deleten en dan uploaden.
            Het wijzigen van een file kan m.b.v. een locale editor (geen tekstverwerker!), zoals notepad (windows) of kwrite / emacs (linux).

        A3.5 Dynamisch gegenereerde 'document per type' listing voor een bepaald project

        Gebruikmakend van de document types definitie (zoals: small project, HIFI project,...) in KT en met de KT-search optie 'folder starts with..' is het mogelijk een html pagina te genereren met alle document type opties met de bijbehorende links voor het geselecteerde project.

        • Voorbeeld (extra meegegeven optie: fFolderId is voor het checken van de rechten)
          <iframe src="https://ktsoap.sron.nl/ktsoap/ktwebservice.php?&fFolderId=10102&project=MicroCarb&css=default&type=dpt" id="moskt" name="moskt" border="" style="color: #666; font-size: 10px;" frameborder="" height="900" scrolling="" width="720"></iframe>



        A3.6 Dynamisch gegenereerde 'document per product' listing voor een bepaald project

        Gebruikmakend van de onderliggende routine 'Producttree.php' vanuit KT en met de KT-search optie 'folder starts with..' is het mogelijk een html pagina
        te genereren met een plaatje met alle document opties met de bijbehorende links, per document type, voor het gekozen project.

        • Voorbeeld

          {moskt fFolderId=11009&sel=/Title/Doc%20nr/Author/Issue/Date/Remarks&nsubdir=2&toolbar=no&view=block&browse=0&blwidth=150,,600}

          Data / folders opbouw in KT:
                   10256 (MC-1000)
                   11015 (00- MC-1000)
                   10246 (01- SRON)
                      11016 (01- SRON)
                      10265 (02- IGs)
                         11017 (01- IGs)
                         10269 (02- MOUNT1)
                         10268 (03- SWIR1)
                         10266 (04- MOUNT2)
                         10267(05- SWIR2)
                       10257 (MC-5000)
                       11010 (00- MC-5000)
                       10270 (01- SRON)
                          11011 (01- SRON)
                          10259 (02- IGs)
                              11012 (01- IGs)
                              10263 (02- MOUNT1)
                              10262 (03- SWIR1)

          Definitie voor de image gegenereerd vanuit KT:
          • De main folder moet een extensie .dgm hebben (naam.dgm)
          • De te weergeven folders moeten het nummer van de KT-data folder in de naam, voorafgegaand door # in zich hebben
          • In de weer te geven folder moeten de [map files] aanwezig zijn:
            • Baseline_map.html (de map file, met aanroep Baseline.png en met de (verkorte) query definitie per document type)
              • Baseline.png (image gedefineerd in Baseline_map.html)
              • Define.txt (definitie van de afkortingen in Baseline_map.html)

            11009 (_Admin-MicroCarb.dgm)
                10993 (MC-1000.dgm)
                    00- MC-1000_#11015
                         [map files]
                    01- SRON_#11016
                         [map files]
                    02- IGs_#11017
                         [map files]
                         11017 01- IGs
                                [map files]
                         10269 02- MOUNT1
                                [map files]
                         10268 03- SWIR1 
                                [map files]
                         10266 02- MOUNT2
                                [map files]
                         10267 03- SWIR2  
                                [map files]      
           
                11001 (MC-5000.dgm)
                   00- MC-5000_#11010
                         [map files]
                   01- SRON_#11011
                         [map files]
                   02- IGs_#11012
                         [map files]
                         11012 01- IGs
                                [map files]
                         10263 02- MOUNT1
                                [map files]
                         10262 03- SWIR1 
                                [map files]
          De output:


          Hierbij wordt de onderliggende url's gegenereerd en aangeroepen:
          • https://ktsoap.sron.nl/ktsoap/ktwebservice.php?fFolderId=11009&sel=/Title/Doc nr/Author/Issue/Date/Remarks&nsubdir=2&toolbar=no&view=block&browse=0
          • https://ktsoap.sron.nl/ktsoap/Producttree.php?&ktpath=61686&search_define_file=61688&map=61687&prod=/01-%20SRON/01-%20SRON

          Voorbeelden [map files]:

    A4. FAQ / Speciefieke pagina updates


      A4.1 Toevoegen van Interne berichten / Actuele wetenswaardigheden en presentaties



        Nieuwe berichten aan deze categorien kunnen toegevoeg worden (welke zichtbaar zijn in de intranet pagina) d.m.v. van een aparte pagina met de specifieke categorie.

        De start- en einddatum voor het tonen van het bericht (end-datum: standaard op 'never') kan worden ingesteld.

        • Log in (zie H1.1)
        • Ga naar home-intranet
        • Klik op 'Interne berichten' of 'Actuele wetenswaardigheden en presentaties' op het linker menu
        • Klik op New om een bericht toe te voegen (als je hiervoor de juiste rechten hebt) zie ook (H4.1)

      A4.2 Nieuwe item aan de 'Other publications' lijst toevoegen

        De pagina maakt een pull-down menu van alle files gespecificeerd in een tekst file : /files/pr/otherpublications.txt.
        • Inloggen in de cms(Joomla) front-end (zie H1.1)
        • Ga naar intranet-> File/Image Manager (menu aan de linkerkant, onder het kopje Intern) en selecteer Filemanager
        • Edit de file /pr/otherpublications.txt:
          klik eerst op de filenaam otherpublications.txt en dan op () en voeg een item toe aan de lijst in de .txt file.

      A4.3 Invullen persberichten/Nieuwsberichten /Maak nieuwsbrief

        A4.3.1 Invullen persberichten/Nieuwsberichten

        Op de homepagina van SRON staan de nieuwsberichten en persberichten op volgorde van datum. Er zijn nl/eng persberichten en nl/eng nieuwsberichten (met beide een veld voor de verkorte en een voor het volledige bericht).
        Van de engelse berichten is meestal alleen de tekst op de hoofdpagina in het engels met een link naar de gehele tekst in het nederlands.

        De tekst bij de link naar het voledige bericht op de voorpagina is :
        - voor de nl perberichten : 'Meer'
        - voor de engelse persberichten More (in dutch) (bepaald in de module)
        Indien de eerste karakter in de title een spatie is verdwijnt de toevoeging '(in dutch)'; speciaal voor de vertaalde teksten.

        Werkwijze:
        • Login cms(joomla) (zie H1.1)
        • Ga naar -->News / Press releases (eng) of --> Nieuws/Persberichten (nl)
        • Onderaan de pagina is een icon zichtbaar met de tekst New... om een nieuw item aan de lijst toe te voegen.

          De invulvelden:
          • Title persbericht
          • 'Intro text' zie A2.1
            Vul hier de volledige tekst voor het nieuwsbericht in.
            Het eerste plaatje uit deze pagna wordt tevens getoond (en aangepast naar een verkleind vierkant formaat) op de voorpagina.
            Zorg ervoor dat voor de plaatsbepaling van de image (code {mosimage}) en de tekst welke op gelijke hoogte moet komen er geen regels blanco in de tekst zijn.
          • 'Main text' zie 2.2
            Vul hierin de (verkorte) tekst welke op de voorpagina getoond moet worden (geen plaatjes toevoegen).
          • "Images" zie A2.2
          • Zet de pagina op publisch en selecteer categorie 'persberichten' of 'nieuwsberichten' (vinkje 'fontpage' heeft geen effect).

        Nog wat opmerkingen/tips:
        • Plaatjes afmetingen minimaal 250px(ivm de thumb afmetingen voorpagina) en max 900px(ivm popup) grootte.
        • Plaatjes worden weergegeven als thumbs in een nieuwsartikel. Standaard is de thumb 140 px breed, je kan dit wijzigen door bovenin het bericht een code te plaatsen (bijv 200px breed):{multithumb thumb_width=200} (zie A!.3.1)
        • De geuploade images namen en de geuploade filename zonder spaties in de naam!

        A4.3.2 Maak nieuwsbrief /Make newsletter

        Vanuit de ingevoerde nieuwsberichten kan uit de laatst ingegeven nieuwsbericht een zgn. nieuwsbrief/newsletter(eng/nl) gegenereerd worden. Een nieuwsbrief bestaat uit een header-image, het nieuwsbericht (keuze met of zonder de images) en een footer.
        De header-image en de footer kan op de pagina (intranet->maak nieuwsbrief/make newsletter in de editor (potloodje ) geselecteerd/ingegeven/gewijzigd worden.

        Werkwijze
        • Login cms(joomla) (zie H1.1)
        • (menu links) Ga naar intranet->Maak nieuwsbrief of intranet->Make Newsletter
        • Download nieuwsbrief(newsletter) lokaal op schijf
          (Link: open nieuwsbrief ter info/controle. NB. als het persbericht nog niet on-line is zal de link in het persbericht nog niet actief zijn (zodra het persbericht op publisch wordt gezet werkt dezelfde link wel).
        • Open Groupwise en laad (retrieve) deze file en verstuur m.b.v. een adreslijst.

      A4.4 Rechter paneel voorpagina aanpassen

      • Ga naar intranet
      • Linker menu: Update menu -> SRON (site panel)
      • Edit de pagina (tekst, links).


      A4.5 Nieuwe spectrum op de site publiceren

      • Inloggen in de cms(Joomla) front-end (zie H1.1)

      • Toevoegen van een nieuwe Spectrum aan de lijst:
        • Ga naar News -> SRON Spectrum newsletter.
        • Klik op de filemanager en upload de gewenste file, met de juiste naam!, in de aangegeven directory (zie Document uploaden H4.3)
        • .
      • Het bijbehorende plaatje newsbrief.jpg vervangen door het nieuwe plaatje:
        • Selecteer de image magager ()
        • Ga naar de juiste directory (/images/stories/nieuwsbrief/vk_1.jpg) en vervang het (kleine) plaatje
        • Als echter de naam van het plaatje gewijzigd wordt, moet de volgende stap ook uitgevoerd worden:
          Wijzigen van het plaatje op de homepagina:
          • Ga naar intranet
          • Linker menu: Update menu -> SRON (site panel)
            • Edit de pagina en plaats de nieuwe image.
            • Voeg de link toe aan het plaatje
          • Linker menu : Update menu -> SRON (nl site panel)
            • Edit de pagina en plaats de nieuwe image.
            • Voeg de link toe aan het plaatje

      A4.6 Talks toevoegen aan de EOS interne lijst

      • Inloggen in de cms(Joomla) front-end (zie H1.1)
      • Ga naar intranet-> EOS intranet
      • Klik in linker menu 'Talks'
      • Klik 'new' om een document toe te voegen
      • Vul title in en selecteer de category: Talks
      • Upload een file in de juiste directory:
        • klik op floppy-icon ()
        • Ga naar intranet -> EOS ->
        • Brouwse naar de locale file en upload deze
        • Selecteer de file en maak een link d.m.v. de 'insert' knop
        • Klik onderaan publishing en vul de state in: Published
      • Save de pagina (klik floppy)

      A4.7 Toevoegen BHV verslagen

      • Log in (zie H1.1)
      • Ga naar home-intranet ->BHV verslagen
      • Klik op de filemanager en upload de gewenste file, met de juiste naam!, in de aangegeven directory (zie Document uploaden H4.3)
      • .

      A4.8 FZ Procedures wijzigen/aanvullen

      Alle FZ procedures worden getoond uit een speciale directory.


      • Eerst inloggen in het CMS systeem (Intranet->CMS Login/Logout)
      • Ga naar intranet-> FZ-> Procedures
      • Klik op de filemanager en upload de gewenste file in de aangegeven directory (zie Document uploaden H4.3)
      • .

      A4.9 Wijzigen datum van de files weergegeven met {dirlijst}

        zie ook H3.5.


      • Schakel de standaard datum en grootte van de file uit met de optie:
        {dirlijst:./files/intranet/BHV/verslagen/ grootte='0' datum='0' }
      • Rename de files
        Voeg de datum toe aan de naam van de file, voorafgegaan met __ (2* underscore), voor de extensie:
        Verslag_vergadering_142__extra_text__05-02-2006.pdf

      A4.10 Toevoegen van een video aan de video lijst

        Om de video toe te voegen aan de lijst behoeft enkel de video in de juiste directory ge-upload te worden (definitie in de source code: {dirlijst:./files/pr/other/movies/...} )

        Werkwijze:
        • log in het cms en ga naar de betreffende pagina en klik op het potloodje
        • Klik op button 'insert/Edit Media' en plaats (upload) de video in de juiste directory: /pr/other/movies/

        A4.11 Wijzigen van de standaard thumbnail grootte

          Dmv een code (liefst begin pagina) te plaatsen (let wel gebruik show/hide source code) kan de thumbnail code uitget of aangepast worden:

            {multithumb thumb_width=200} (defineer een thumbnail van 200px width)
            {nomultithumb} (uitzetten van een popup (vergroting))

        A4.12 Plaatsen van SRONieuws op het intranet

          Het plaatsen van één pagina is voldoende om zowel het SRONieuws in de lijst te plaatsen (cover + verkorte inhoud: http://www.sron.nl/sronieuws)
          als de link naar de het betreffende nummer en de uitgebreide pagina zelf.

          Werkwijze:
          • log in het cms en ga naar intranet-> SRONieuws
          • Klik op (submenu SRONieuws van Linker menu) 'Update aktueel category'
          • Onderaan klik op link 'New' en voeg een nieuwe SRONieuws pagina toe
            (bekijk bijv. eerst een ouder nummer hoe deze pagina in te vullen)
            Tips:
            • Titel formaat: 'SRONieuws 80 - juni 2012 '
              Edit veld (de inhoud (tekst en cover) van de SRONieuws pagina):
              • Plaats eerst een image (de cover) (dmv icoon: 'Insert/Edit image') in de directorie: /intranet/SRONieuws om het plaatje daarna te linken in de pagina.
              • Onderaan de tekst, klik op 'Read More' (een horizontale balk verschijnt onderaan in het edit veld), plaats hierna de tekst welke op de SRONieuws-voorpagina moet komen (de verkorte inhoud).
              • Klik op het plaatje (cover SRONieuws) en voeg de KT link toe (controleer het 'fDocumentnr' in KT en defineer de link: https://ktsoap.sron.nl/ktsoap/ktwebservice.php?fDocumentId=71427)
                (of in html, bijv: <a href="https://ktsoap.sron.nl/ktsoap/ktwebservice.php?fDocumentId=71427"> <img alt="SRONieuws 85" src="images/stories/intranet/SRONieuws/SN85.jpg" height="785" width="554"/></a> )
            • Category: SRONieuws-> Aktueel
            • Wijzig niet de status, Published en Public !
            • Vul geen Start- / Finish Publishing Publishing date in [standaard(lege velden) is 'forever']


      A5 HTML/Javascript code

        Gebruik de knop (een apart invul scherm verschijnt) om html code aan de pagina toe te voegen.

        A5.0 Test SSI

          Create een .shtml file en kijk of de datum wordt gedisplayed.

          <HTML>
          <TITLE>Test File</TITLE>
          <!--#config timefmt="%A" --> <!--#echo var="DATE_LOCAL" -->
          </HTML>

        A5.1 Include een html pagina (SSI)

          Gebruik de .shtml file extensie!

          • Een extern bestand aanroepen:
            <!--#include file="bestandsnaam.txt" -->
          • Een extern bestand aanroepen in een subdir:
            <!--#include file="subdirectorynaam/bestandsnaam.txt" -->
          • Een extern bestand aanroepen boven je Document root dir:
            <!--#include virtual="/directorynaam/bestandsnaam.txt" -->
          Voorbeeld:
          <!--#include virtual="/~rienk/update_sronserver/BDPMs/DataBase/BDPM_Criteria.html" -->

        A5.1.2 Include een html pagina (IFRAME)

          
          <IFRAME SRC="http://www.sron.nl/~ralphs/update_sronserver/caldptt/SCIACAL_calttmain.html"
           WIDTH=595 HEIGHT=1400 frameborder=0> </IFRAME>
          

        A5.2 Doorlinken naar een andere pagina

          Hier worden twee manieren getoond om dit te doen:

          • M.b.v. javascript
              Dit script wacht 1 milliseconde en springt dan naar http://www.nieuwelocatie.nl.
              
                  <script>
                  <!--
                  function autoChange()
                  { var timeID = setTimeout("location.href= 'http://www.nieuwelocatie.nl'",1)
                  }
                  //-->
                  </script>
                  <body inload="autoChange()">
              
          • M.b.v. javascript
              
              <SCRIPT LANGUAGE="JavaScript">
               window.location="pagina.htm"; 
              </script>
              
          • d.m.v. een index.php file:
              
              <?php
                  header ("Location: /index.php?option=com_content&task=view&id=678&Itemid=921"); exit; 
              ?>
              
          • Button met doorlinken naar de vorige pagina:
              <input type="button" value="Vorige pagina" onclick="history.back()" >
              
          • in html:
              <head><META HTTP-EQUIV=Refresh CONTENT="1; URL=http://www.nwo.nl/"></head>
              

        A5.3 HTML Popup pagina

        • HTML
            Opent een nieuw window.

            <a href="url" target="_blank""> Link-tekst </a> Met javascript: <a href="javascript:popupwin('http://www.sron.nl/kt')">www.sron.nl/kt</a>.

        • Javascript
            Hier meer opties mogelijk voor de te openen pagina (zoals window grootte en de mogelijkheid om de scrollbars te disabelen, etc.).

            <a href="#" onclick="window.open('url','win2','status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no, resizable=yes,width=640,height=480, directories=no,location=no');" title="Ttile">
            <img src="/print.png" alt="Print" align="middle" name="Print" border="0" > </a>

        A5.4 Popup pagina met javascript / formulier

        • To open a new browser window, use the window.open()
            
            myRef = window.open(''+self.location,'mywin','left=20,top=20,width=500,height=500,toolbar=1,resizable=0');
            

        • Popup met formulier
            <SCRIPT LANGUAGE="JavaScript">
            <!-- Begin
            // test variables
            var myHeight = 200;
            var isResizable = true;
            
            function createTarget(form) {
             _target = form.target;
             _colon = _target.indexOf(":");
             if(_colon != -1) {
               form.target = _target.substring(0,_colon);
               form.args = _target.substring(_colon+1);
             } else if(typeof(form.args)=="undefined") {
               form.args = "";
             }
             if(form.args.indexOf("{")!=-1) {
               _args = form.args.split("{");
               form.args = _args[0];
               for(var i = 1; i < _args.length;i++) {
                 _args[i] = _args[i].split("}");
                 form.args += eval(_args[i][0]) + _args[i][1];
               }
             }
             form.args = form.args.replace(/ /g,"");
             _win = window.open('',form.target,form.args);
             if(typeof(focus)=="function")
             _win.focus();
             return true;
            }
            //  End -->
            </script>
            
            Form Target Formatting
            <form action="process-form.html" method=get
            target="foobar:width={window.screen.width/2},
                     height={myHeight},
                     scrollbars,
                     {(isResizable)?'resizable':''},
                     status"
            onSubmit="return createTarget(this);">
            

        A5.5 Print button

          
          <input type="button" value="Print This Page" onClick="window.print()">
          

        A5.6 Tabel rechts (of links) uitlijnen

          Je kunt &lt;TABLE ALIGN="right"> gebruiken om een tabel rechts te laten zweven.
          (Gebruik ALIGN="left" om aan de linkerkant te zweven.)
          Alle inhoud die na de afsluitende </TABLE>-tag verschijnt, zal rond de tabel 'stromen'.
          Gebruik <BR CLEAR="right"> of <BR CLEAR="all"> om het einde aan te geven van de tekst die rond te tabel moet stromen,
          zoals getoond in dit voorbeeld:
          <TABLE ALIGN="right">...</TABLE>
          De tabel zal aan de rechterkant 'zweven'. 
          Deze tekst zal links van de tabel verschijnen.
          <BR CLEAR="right">
          Deze tekst zal onder de tabel verschijnen, 
          zelfs als er genoeg ruimte over is links naast de tabel.
          

        A5.7 Mouseover pagina

          <html><head><title>Pagina</title></head><body>
          
          <a href="/files/intranet/Algemeen/Form_aanmelden_bezoekers.doc" 
          onmouseover="return escape('<b>DOC file</b>')">
          Formulier aanmelden gasten <img border="0" src="/images/stories/icons/doc.gif" /> </a>
          
          <script language="JavaScript" type="text/javascript" src="/intranet/wz_tooltip.js"></script>
          </body></html>
          

      A6 .htaccess

        Soms wil je bepaalde delen op je site die je niet voor iedereen toegankelijk wilt maken. De Apache webserver en ook andere webservers bieden mogelijkheden om directories te beveiligen. Toegang wordt dan alleen nog verleend aan diegenen die een geldige gebruikersnaam en wachtwoord kunnen invoeren.(voorbeeld)

        Een bezoeker krijgt dan het volgende venster te zien wanneer hij de beveiligde directory bezoekt:



        • Het .htaccess bestand
          
                  AuthUserFile /usr/www/beveiligd/.htpasswd
          	AuthGroupFile /dev/null
          	AuthName "Geheime Pagina"
          
          	AuthType Basic
          	<Limit GET POST>
          	require valid-user
          	</Limit>
          
          In de code hierboven moeten er twee dingen aanpast worden:
          1. Bij AuthUserFile moet je het pad naar de directory die je wilt beveiligen invullen.
          2. Waar hierboven Geheime Pagina staat, moet je de titel invullen die je aan het wachtwoord-venster wilt geven. Bezoekers krijgen deze titel dan te zien (zie ook het plaatje hierboven).

        • Het .htpasswd bestand maken
          • Ga naar de te beveiligen directory
          • Type in: htpasswd -c .htpasswd gebruikersnaam
            ("gebruikernaam" moet je vervangen door de gebruikersnaam die je toegang wilt geven tot de beveiligde directory).
          • Vervolgens zal de server je vragen om een password op te geven voor deze gebruiker. Vul daar dus een wachtwoord in. Je moet dit vervolgens nog een keer bevestigen.
          • Als je nieuwe gebruikers toe wilt voegen die ook toegang tot de directory moeten krijgen dan moet je het volgende commando gebruiken:
            htpasswd .htpasswd nieuwe_gebruikersnaam

        A6.1 Een HTML bestand als een PHP bestand parsen

          Het laten parsen als .php bestand van een .html pagina doe je met een .htaccess code. De code:
          AddType application/x-httpd-php .php .htm .html

          De bovenstaande code geeft de Apache webserver de instructie om naast bestanden met de .php extensie ook .htm en .html bestanden te laten parsen door de PHP parser op de server.

          Om te controleren of het heeft gewerkt kun je een simpel HTML bestand aanmaken met daarin een eenvoudige PHP opdracht:

          <html> <head> <title>Php test</title></head>
          <body>
           <?php  echo 'Hallo, dit is een test.';  ?>
          </body></html>

        A6.2 De standaardpagina van een directory wijzigen

          Zet de volgende code in het .htaccess bestand:
          DirectoryIndex bestandsnaam.html

          Een andere handige mogelijkheid is het opgeven van meerdere bestandsnamen in de code van het .htaccess bestand.
          Bijvoorbeeld:
          DirectoryIndex bestandsnaam.html index.php index.cgi pagina.htm

        A6.3 Een Redirect maken via .htaccess (alias)

          Om eenvoudige url's te maken kan gebruik worden gemaakt van een redirect.
          Deze aliassen zijn veel makkelijker door te geven naar de buitenwereld dan de Id'd en ItemId's van de pagina's. Die kunnen ook nog wel eens veranderen, terwijl je de aliassen niet wijzigd.

          Via de status commando's kunnen bepaalde HTTP status codes worden teruggestuurd door de webserver:

          permanent
          Een permanente redirect code wordt teruggestuurd (301) om aan te geven dat de opgevraagde pagina/directory permanent is verplaatst.
          temp
          Een tijdelijke redirect status wordt teruggestuurd (302). Dit is de standaardinstelling.
          seeother
          Een "See Other" status wordt teruggestuurd (303) om aan te geven dat de opgevraagde pagina/directory is vervangen.
          gone
          Een "Gone" status wordt teruggestuurd (410). Hiermee wordt aangegeven dat de pagina/directory verwijderd is.

          Voorbeelden:
          Redirect /hea http://www.sron.nl/www/code/hea
          Redirect /eos http://www.sron.nl/www/code/eos
          Redirect permanent /sciamachy http://www.sron.nl/index.php?option=com_content&task=view&id=69&Itemid=128
          Redirect permanent /intranet/code/home/ http://www.sron.nl/intranet

      A7 Diversen

        A7.1 Howto create a gif(animated gif) / jpg(javascript) movie

        Purpose:
        Connect seperate .gif or jpf pictures to a movie (set time interval).

        • GIF movie (animated gif)
          • Example
            out.gif

          • Source code
               gifsicle --colors 256 --delay 100 `ls *.gif` >out.gif

            input files: p60.gif-p69.gif
            output file: out.gif
        • JPG movie (javascript)

        A7.2 Make a HTML/Perl form

          Purpose:
          This example shows how to deal with the user input given by a form. All input by a .html file are controled by a perl file.

        • Example (html page):
          EOS publications

        • Source code (perl script):
          plform.pl

        A7.3 Convert wav to mp3 file (linux)

          Purpose:
          Om Wav-bestanden te converteren in Mp3-bestanden, heb je LAME nodig. Mp3's omzetten naar Wav-bestanden gaat met Mpg123. .

        • Voorbeeld

          Wav -> Mp3
            lame -b 256 -h "input.wav" "output.mp3" 
            Hier is een Mp3 met een constante bitrate van 256 kilobits/seconde gemaakt.
            • Optie -b argument niet toevoegen wordt de defaultwaarde (128kbit/s) gebruikt.
            • Optie -h zorgt voor Hight Quality encoding, iets trager maar zeker aan te raden.

            Een Mp3 met variabele bitrate (optie 7 ~ 128kbit/s):
            lame -V 7 -h "input.wav" "output.mp3" 

          Mp3 -> Wav
            mpg123 -w "output.wav" "input.mp3" 

          Scripts:
            Voor gebruik op meerdere bestanden tegelijk (alle Mp3's in een directory naar Wav's):
            for i in *.wav; do lame -V -h "$i" "`basename "$i" .wav`.mp3"; done  

            De omgekeerde conversie :
            for i in *.mp3; do mpg123 -w "`basename "$i" .mp3`.wav" "$i"; done 

        A7.4 Interactive web plots (java applets)

          Purpose:
          With the standard IDL plots no easy user interaction can be done after the plot is drawn. Use of NSplot routines (standard plot routines with prefix NS (eq: NSplot, NSoplot, NSpolyfill ..) creates a widget with user interaction (zoom/hardcopy).


        A7.5 Using TeX Equations and convert to GIF or PNG image

          Purpose:
          The basic procedure is to typeset your formula in TeX, and then via various converters turn the formula into a GIF or PNG image with a transparent background that can be included as a graphic object in the html file.

          The script latex2gif convert the image in the latex file to a gif or png image.

        • Example
          Latex file file.tex :
            \documentclass{article}
            \usepackage{color}
            \definecolor{bg}{rgb}{0,0,0.501}
            \definecolor{fg}{rgb}{0,1,1}
            \pagestyle{empty}
            \pagecolor{bg}
            \begin{document}
            \color{fg}
            $$H_0d_M = \frac{1}{\left|\Omega_k\right|^{1/2}}\ \mathrm{sinn}\left\{
               \left|\Omega_k\right|^{1/2} \int_0^{z_1}
               (1+z)^2(1+\Omega_\mathrm{M}z)-z(2+z)\Omega_\Lambda]^{-1/2}dz\right\}$$
            \end{document}
            
            The "blue" background is (r,g,b)=(0,0,128) and the foreground.is "LightCyan" (r,g,b)=(0,0,255).
            In the latex file the 0.501 he blue for the background corresponds to 128 on a scale of 0-255.

          Convert TeX to PNG or GIF image
            latex file.tex
            dvips file -o
            convert -units PixelsPerInch -density 300 -trim -border 4x4 -bordercolor \#000080 -matte -transparent \#000080 -type PaletteMatte file.ps file.png   
            (On one line!)

          Create html file

        • Example Use for SRON web pages:

            Latex document file2.tex :
              \documentclass{article}
              \usepackage{color}
              \definecolor{bg}{rgb}{0.96,0.97,1.00}
              \definecolor{fg}{rgb}{0.03,0.03,0.36}
              \pagestyle{empty}
              \pagecolor{bg}
              \begin{document}
              \color{fg}
              
              \begin{displaymath}
              H_0d_M = \frac{1}{\left|\Omega_k\right|^{1/2}}\ \mathrm{sinn}\left\{
                 \left|\Omega_k\right|^{1/2} \int_0^{z_1}
                 (1+z)^2(1+\Omega_\mathrm{M}z)-z(2+z)\Omega_\Lambda]^{-1/2}dz\right\}
                 \end{displaymath}
              \end{document}
              
            Compile:

            Output: file2.jpg :



        • Use Gimp
            Use Gimp to pick colors from an image and use the color selection to to see the RGB code:

        A7.6 TeX to GIF or PNG Converter for Web Documents (linux)

          Purpose:
          Textogif is a simple Perl program which uses the same software tools employed by LaTeX2HTML to compile individual equations in short LaTeX files into images suitable for embedding in Web documents.

          Example
          To use textogif, write your equation (or anything else you can typeset with LaTeX) in a file like: filename.tex

          Document
            \documentclass[12pt]{article}
            \pagestyle{empty}
            \begin{document}
            \begin{displaymath}
            \int H(x,x')\psi(x')dx' = -\frac{\hbar^2}{2m}\frac{d^2}{dx^2}
            \psi(x)+V(x)\psi(x)
            \end{displaymath}
            \end{document}
          Compile
            textogif filename

          Html file

        A7.7 Bepalen van de Map coordinaten (met Gimp)

        • Open het plaatje in Gimp (File>>Open)

        • Click op : de image en kies: filters >> web >> image map . Een nieuw popup window verschijnt.



        • Click op de gewenste tool (vbd rechthoek) en 'drag' een rechthoek waardoor een tweede popup verschijnt.



        • Click "view" rechtbovenin en click op "Source...", en copier de source code.



        • Om de pagina te wijzigen met mouseover (ipv clicken op de image):

          • Voeg de javascript code toe:
            <script type="text/javascript">
            function switchImg(img,simg) {
              x=document.getElementById(img);
              x.src=simg;
            }
            </script>
            
          • Voeg toe aan de <area >
            bestaande code: <area shape="rect" coords= ...
            nieuwe code: <area onclick="switchImg(this,X)" id=Y shape="rect" coords= ...

      A8 Joomla Back-end

        Log in in de backend (www.sron.nl/administrator).

        De meest voorkomende wijzigingen/uitbreidingen voor de website zijn:
        • Content toevoegen

          Het content gedeelte bestaat uit verschillende secties.
          • Selecteer Content->All Content items -> New
          • Kies voor statische content
          • Vul in:
            • Title, Selecteer Category/Section waaronder de content behoort
            • Vul in de Content
            • Set pagina als 'publisched' (->Publishing)
            • Set username (Change Creator) als je ingelogd bent als Admin (->Publishing)
        • Menu item toevoegen

          • Ga naar Menu->Menu Manager->Menu items
          • Kies het juiste menu uit de lijst
          • Klik op 'New' -> Link - Content Item
          • Vul in:
            • Title (Name) menu item
            • Link naar de content pagina uit de lijst (Content to Link)
            • Parent item
          • Met de blauwe pijltjes, in de Menu manager, kunnen menu items omhoog of omlaag verplaatst worden om zo de positie in het menu aan te passen.
        • Menu's selecteren voor de contentpagina

          Voor ieder menu is een bijbehorende module (zelfde naam) aanwezig om aan te geven welke menu bij welke pagina getoond moet worden.

          • Ga naar modules->Site modules
          • Zoek de menu-item module op
          • Site Module -> Pages/items
            Geef aan op welke content pagina's deze zichtnbaar moet zijn (in een lijst)

      A9 Xataface (nieuwe naam voor Dataface)


        Gedeelte van de online documentatie Xataface.

        Introduction

        For a general sollution for table-list and table updating we use the packet Xataface .

        Xataface is a flexible and intuitive User Interface for MySQL databases. In practical terms, it automatically generates the appropriate forms, lists, and menus for a user to interact with the database without having to know any SQL (structured query language).

        If you point your web browser to the application it will look something like:



        Inloggen

        Most applicaties are protected for special users.
        Login can be done by the Groupwise login name/password combination.



        Basic Navigation

        The navigation tabs (Navigation menu) at the top left represent the tables in your database.
        You can navigate to any of the tables in this list by clicking on that table:

        Views


        You can toggle between these 3 views using the tabs at the top of the page:

        • Details, Editing an existing record> The details tab shows details on individual records in the current table. If you click on the 'Edit' tab, you will be presented with a form to edit the record. The form is identical to the "create new record" form.


        • List The list tab displays the current found set in a tabulair list.

          Klicking the name above of the table, the order of displaying of that table is changed.

        • Find The find tab contains a search form to find records in the current table.


        The Actions Menu

        Essentially there are 4 operations you will want to perform:
        • new record - Creates a new record in the current table.
          Fill in the form and click "Save".
        • show all - Clears all find criteria on current table so that all records are shown.
        • delete - Deletes the current record in the table.
        • delete found records - Deletes all records in the current "found set". If no find criteria is specified this will delete all records in the table.

        This short section is only intended to get you acquainted with the basics of Xataface applications. As your application becomes more complex with relationships and value-lists, there will be other usage scenarios of interest.

    • A3. KT interface

        Inleiding

        Wat begonnen is als een simpele listing van documenten van een KT-directory is uitgegroeid naar een grafische interface met allerlei opties om een selectie van documenten m.b.v een querie te genereren.
        De verschillende mogelijkheden (met opbouw: simpel-> uitgebreid):

        • KT-Documenten weergeven in een (folder)-listing
          Om documenten uit KT weer te geven op de website is een zgn. KT soap interface gemaakt welke aangeroepen kan worden vanuit het cms systeem met een code (zie A1.3 Editor mambot code) : {moskt}.
          Door hier allerlei opties aan mee te geven kan bijv een directory listing getoond worden vanaf een bepaalde folder. Met diverse opties kan de gewenste metadata in een lijst getoond en op een bepaalde manier gesorteerd worden.(A3.1) De juiste folder en document nummers kan men vinden in KT zelf.
            Voorbeeld: {moskt fFolderId=1234&sel=/Date/Title/Doc nr/Author/Issue/Remarks}


        • Zoekformulier genereren
          Naderhand zijn er ook opties toegevoegd om een zoekformulier te genereren om zowel de data in een bepaald project of vanaf een folder te kunnen zoeken (in o.a. tekst of in metadata) in KT en deze documenten weer te kunnen geven in een listing(A3.2).
            Voorbeeld: {moskt search=1&project=SHAMROC&sel=/Title/Doc nr/Author/Date/Issue}


        • Zoek Queries ipv folder listing
          Voor de projecten kwam de wens om naast een directory listing een KT search query (zie A3.2.2) mee te kunnen geven (welke uitgebreid kan zijn) zodat gezocht kan worden vanaf een folder naar bepaalde type documenten. Deze search quey kan direct opgegeven worden of in verkorte vorm, met m.b.v. een definitie file (de query zelf kan men uit KT zelf herleiden).
            Voorbeeld: {moskt fFolderId=6859&sel=/Doc nr/Title/Cat/Issue/L1/L2/L3/L4/L5&css=default&search_query=(["More (specific for small projects)"]["Document type"] is "CN - Change Note") and (Folder starts with "astro-h")}


        • Zoek queries m.b.v. een grafische interface
          Om een selectie via een grafische interface (een boomstructuur, met een twee lagen structuur zie A3.3) te laten geschieden moeten er diverse files kenbaar aan de uitgebreidere KT interface {moskt path=path} gemaakt worden. Zoals de layout files (met de layout en de posties voor iedere link) met daarin een verkorte vorm van de search query per link. Om alles op de KT-server te kunnnen uitcoderen moet een definite file (waarin beschreven wat de werkelijke KT search opdracht is voor iedere verkorte query) kenbaar aan het systeem gemaakt worden.
            Voorbeeld:
              {moskt path=ASTRO-H&search_define_file=Astro-H.txt&folder=ASTRO-H PDR &producttree_map=Producttree_ASTRO-H_map.html&fFolderId=7149,720,900}
              Maak de (definitie en layout) files en plaats ze in de specifieke project directory (bijv KTproject/ASTRO-H):
              • Defineer alle verkorte KT queries: Astro-H.txt
              • Plaatje definitie en coordinaten 1e en 2e laag: Producttree_ASTRO-H_map.html en Baseline_map.html
              • De plaatjes zelf (1e en 2e laag): ASTRO-H.gif en astro-h-type.png

          M.b.v. een 'tool' een zgn. mambot {aanroep: KTproject}) welke lokaal een preprocessor programma aanroept, is dit sterk vereenvoudigd. Met deze mambot kunnen de project files worden geupload (in de juiste directory), en tevens het editen van definitie files, de tool checked bepaalde filenamen en genereerd de juiste output ({moskt}) code met alle opties).

          In A3.4 wordt beschreven hoe de project-files 'handmatig' op de website (het cms systeem) kan worden geplaatst.

        A3.1 Directory (folder en documenten) listing


          Voorbeeld van een standaard folder listing.
          ({moskt fFolderId=6850})




          Voorbeeld van een folder listing met een andere layout optie en met 2 folders uitgeklapt.
          ( ...&css=paqa&view=subdir&nsubdir=2)



          Voorbeeld van een documenten directory listing met enkele geselecteerde metadata velden.
          ( ...&sel=/Doc%20nr/Title/Cat/Issue/L1/L2/L3/L4/L5/Remarks&css=default)



          Aanroepen vanuit het cms systeem (web pagina):
          • Directe link
            <iframe width="720" height="900" src="https://ktsoap.sron.nl/ktsoap/ktwebservice.php?fFolderId=1234&sel=/Date/Title/Doc%20nr/Author/Issue/Remarks"></iframe>

          • Via een joomla mambot (opent in een iframe):
            Met de code :
                {moskt fFolderId=1234&sel=/Date/Title/Doc%20nr/Author/Issue/Remarks} of:
                {moskt fFolderId=1234&sel=/Date/Title/Doc nr/Author/Issue/Remarks} (spaties worden in {moskt} geconverteerd!)
            worden de documenten uit de opgegeven KT folder weergegeven op de website.

          Weergeven van documenten uit een KT-folder/ of een specifieke KT-document voor download:
          • Selecteer een KT-folder: {moskt fFolderId=1165} (voor de juiste foldernummer, zie url in KT.
          • Selecteer een KT-document: {moskt fDocumentId=27284} (voor de juiste documentnummer, zie url in KT.


          Functionaliteit/Werkwijze folder/document listings:
          • In de Joomla editor is dmv een mambot, de tabel layout en de keuze van de kolommen aan te geven/aan te passen
          • Mogelijkheid van 'interactief' sorteren per kolom (klik op de titel van de desbetreffende kolom).
          • Output opties (Print tabel zonder frame, PDF print output en Export CSV file).

          Rechtenstructuur:
          Standaard worden de documenten weergegeven zonder (extra) in te loggen:
          • bij intern SRON Utrecht en Groningen: De KT rechten van de 'sronpublic' gebruiker
          • bij extern SRON : De KT rechten van de 'worldpublic' gebruiker .
          • Voor documenten die hieronder niet zichtbaar zijn, moet eerst ingelogd worden in KT (zgn. LDAP(=Groupwise) login check) om deze te kunnen tonen.


          Syntax: {moskt commando&option1&option2....., iframe-width, iframe-height}

          moskt commando's:
          Functie Omschrijving Syntax /Voorbeeld
          fFolderId Selecteer een KT-folder &fFolderId=1165
          fDocumentIdSelecteer een KT-document &fDocumentId=27284


          moskt options:
          Functie OmschrijvingSyntax /Voorbeeld
          &sel=Kolom selectie, voor de juiste kolomnaam (metadata), zie KT. &sel=/Title/Doc%20nr/Author/Issue/Cat/Date
          Kolomnaam definitie &sel=/Doc%20nr=Specification
          &alt=Metadata selectie (zelfde formaat als de &sel)
          Deze metadata informatie wordt aan de alt van de link toegevoegd.
          &alt=Internal CI//Control list
          &sort_on=Metadata kolom voor de sortering: &sort_on=Author
          Combinatie van &sort_on en &sort_col is (nog) niet mogelijk!
          &sort_col=Niet Metadata kolom (de zgn Generic Information) voor de sortering: &sort_col=title &sort_col=id
          Combinatie van &sort_on en &sort_col is (nog) niet mogelijk!
          &order=Type sortering (oplopend, aflopend) voor documenten: &order=DESC &order=ASC
          &forder=Type sortering (oplopend, aflopend) voor folders: &forder=DESC &forder=ASC
          &link=Instellen op welke kolom de link(openen van het document) moet plaatsvinden &link=Doc%20nr
          &width=Maximum kolom breedte instellen [default=40 char's]
          &width=0 is uitzetten max width
          &width=70
          &maxnumb=Instellen max items (voor search opdracht) [default=1000] &maxnumb=100
          &out=Instellen Output naar csv,xml file or place output in one table&out=csv
          &out=table
          &out=xml
          &dir=Uitzetten van de folder/document directory [default: &dir=1] &dir=0
          &browse=Uitzetten van de kolom titels (en optie om kolom te sorteren) en de (sub)folders infoline (browsen naar hogere subfolders), met actuele directory info [default: &browse=1], uitzetten folder name info [browse=-1]/td>[&browse=1]; default kolom titles en folrname weergeven
          &browse=0 uitzetten van de kolom titels
          &browse=-1 uitzetten van de kolom titles en de foldename
          &filesize= Uitzetten van het weergeven van de file grootte &filesize=0
          &displ=Uitzetten weergave van documenten in subfolders (alleen de folders weergeven) &displ=nofull
          &lang=Instellen van de 'language' (voor o.a. layout datum) [default: lang=eng] &lang=nl
          &dirpos=Instellen van de positie van de directories tov de files [default: &dirpos=top] &dirpos=bottom &dirpos=top
          &dirpos=order (hierbij wordt de metadata niet getoond!)
          &css=Instellen van de css file op de KT server zonder opgave van de extensie (.css) [default: &css=compact]
          opties (gedefinieerde stylesheets op de KTserver): default,compact,paqa
          Of een stylesheet op de webserver (geef volledig pad met filename op zonder extensie (.css))
          &css=default
          &css=paqa

          &css=http://www.sron.nl/files/KTproject/SAFARI/meetings
          &nsubdir= Uitklappen van een (aantal) subdirectories &nsubdir=2&toolbar=no
          &view=
          &ndoc=
          &nempty=
          Weergave van een directory [default directories weergeven met pictogrammen][&view=path] (icons)
          &view=subdir (no icons)
          &view=block
          • extra option to set the bg & font-color(s) for the boxes (bg-main,bg-second,bg-hover,font,font-hover),eq: [&bgcolor=e8eff3/c9dfec/8cc6e7]
          • extra option &bwidth=xxx Define the block width [default: 220px]
          • extra option &bheight=xxx Define the block height [default: 15px]
          • extra option &blwidth=xxx Define the block line width [default: 220px]
          • extra option &blheight=xxx Define the block line height [default: 15px]

          • extra option: &displ=nofull alleen folders weergeven (geen documenten)
          • extra option &ndoc=1 (no link to empty subfolders)
            &ndoc=2 (show number of docs foreach subdir)
            &ndoc=3 special: display documents in subfolders for nsubdir>1
          • extra option &nempty=0 Don't show the empty folders
            &nempty=1 Show the empty folders
          &toolbar=Uitzetten van de toolbar (csv outp , print, open in nieuw window, pdf outp)&toolbar=no
          &title=Toevoegen van een title boven de pagina &title=Configuration Item Data List (CIDL)
          &mosmsg=Toevoegen van een message tekst &mosmsg=...
          &moshdr=Toevoegen van header tekst (tekst voor de documenten lijst) &moshdr=SRON-SHAMROC-LI-2009-00X
          &mosftr=Toevoegen van footer tekst (tekst na de documenten lijst &mosftr=L1=(extern):%20documents%20 w.r.t.%A0ASIC
          /ETHZ%3Cbr%20/%3EL2=(intern):%20
          documents%20w.r.t.%A0chip%20and%20package%3Cbr%20
          /%3EL3=(intern):%20documents%20
          w.r.t.%A0sub-blocks%3Cbr%20/%3EL5=Close-out%3Cbr%20
          /%3EA=Approved;%20C=Closed;%A0H=on%20
          Hold;%20R=Rejected;%20W=Withdrawn;%20O=Still%20
          open;%20X=Not%20Applicable
          &sortable= Uitzetten van locale (javascript) kolom-sortering (sorteren alleen via de database (webserver)) &sortable=0
          &labels=Uitzetten van het tonen van de kolom labels &labels=0
          &doctypeSelectie document output weergave &doctype=1
          &login=Forceer user (LDAP) login &login=1
          &logout=Forceer user (LDAP) logout &logout=1
          &debug=Show some debug information (execution time of some functions) &debug=1
          Speciale functies:
          &type=dptShow alle 'documents per type' voor een specifiek project&fFolderId=10102&project=MicroCarb&css=default&type=dpt&mdata=69
        • extra option &mdata= selecteer kt-project code [default "small project" code 51]


        • iframe-width, iframe-height
            De output van de KT-server wordt in een iframe geladen in dezelfde webpagina, met de variabelen iframe-width, iframe-height kan de grootte van het iframe ingesteld/gewijzigd worden.


          Enkele voorbeelden:
          • Basis commando met folder selectie en frame grootte instelling, verder standaard instelling: {moskt fFolderId=1165, 500,1200}
          • Folder met specifieke kolom(=metadata) selectie: {moskt fFolderId=1165&sel=/Title/Doc%20nr/Author/Issue/Cat/Date/L1/L2/L3/L5}
          • Voorbeelden met uitgebreide options:
          • {moskt fFolderId=755&sort_on=Date&sel=/Title/Doc%20nr/Author /Issue/Date&dir=0&browse=0&filesize=0&order=DESC&moshdr=SRON-SHAMROC-LI-2009-00X}
          • {moskt fFolderId=2918&sort_on=Author&order=ASC&link=Doc%20nr&sel=/Doc%20nr=Specification/Issue /Date/Title=Title/Cat=Status/Remarks/Author=Code&width=70}
          • {moskt fFolderId=1754&sort_col=title&order=ASC&sel=Title/modified_date&browse=1&filesize=1}

        A3.2 Search option

          A3.2.1 Creeren van een search formulier

          Met het commando &search=1 wordt een standaard search formulier (met de specifieke zoekvelden) gegenereerd om de search opdracht in te kunnen geven.

            Er kan een zoek term ingegeven worden voor:
            • titel van de document (&search_title=...)
            • in de tekst van het document (&search_generalText=... )
            • in de metadata van het document (&search_metadata=... )
            • de verschillende opties kunnen ge-AND en/of ge-OR-d worden (&andor_title=AND&andor_text=OR) of alle opties in een keer(&AndOr=AND).

            Syntax/Voorbeeld:
            https://ktsoap.sron.nl/ktsoap/ktwebservice.php?search=1&project=SHAMROC&search_title=&andor_title=OR&search_generalText=veen&andor_text=OR


          Met het formulier worden bovenstaande search-opties gegenereerd:

          • Zoekformulier (&search=1&project=...) op basis van een opgegeven Project (metadata veld)
            Gezocht kan worden op titel, tekst en of metadata voor het geselecteerde project.

            {moskt search=1&project=SHAMROC&sel=Title/Doc%20nr/Author/Date/Issue}

          • Zoekformulier (&search=1&folder=...) vanaf een opgegeven main-folder
            Gezocht wordt op title, tekst en of metadata vanaf een bepaalde Folder en all onderliggende folders.

            {moskt search=1&folder=SAFARI%20system&sort_on=Date&sel=/Date/Title/Doc%20nr/Author/Issue/Remarks&fFolderId=7149}

            Met aanpassen van de zoekveld namen geeft als output:

            {moskt search=1&folder=Astro-H&sel=/Title/Doc%20nr/Author/Date/Issue&fFolderId=6859 &search_on=Title/DocumentText=Content/Metadata&user=0}


            Generieke search menu options:
            Functie Omschrijving Syntax /voorbeeld
            search= selecteer een search formulier [optie 1,2] &search=1
            search_title= zoek op titel &search_title=
            search_generalText=zoek op document tekst &search_generalText=veen
            AndOr=generieke AND/OR functie voor titel, content en metadata &AndOr=OR
            andor_title= and/or functie &andor_title=OR
            andor_text=and/or functie &andor_text=AND
            search_metadata=zoek op metadata &search_metadata=OR
            folder= start zoeken vanaf een bepaalde folder &folder=SHAMROC
            folder[]= folders selectiesearch=1&folder[]=Sentinel5/GS5-1000&folder[]=Sentinel5/GS5-5000&sel=/Title/Doc%20nr/Author/Date/Issue &fFolderId=10101&search_on=Title/DocumentText=Content/Metadata&user=0&title=sentinel5
            project= selecteer project (uit metadata veld) &project=SHAMROC
            user= disable user login information/login another user &user=0


          • Algemeen KT-zoekformulier ( &search=0) per project/folder

            {moskt search=0&folder=Astro-H&sel=/Doc%20nr/Title/Author/Issue&fFolderId=6859}



        A3.2.2 KT search query's

          Omdat een uitgebreidere KT search query vaak niet direct met de URL kan worden meegegeven (veel te lang en sommige tekens ,zoals spaties en quotes, zijn niet direct toegestaan), kan ook gekozen worden voor een verkorte schrijfwijze met een definitie file waarin de afkortingen worden bepaald (defineer de 'search_qs' voor de verkorte querie en de 'search_define_file' option voor de definities).

          Extra (search querie) options:
          Functie Omschrijving Syntax /Voorbeeld
          search=1 Genereer een search menu &search=1&project=ASTROH

          {moskt search=1&fFolderId=7835&folder=SRONieuws%20intranet&sel=/Title=Title&search_on=DocumentText=Content&sortable=0&user=0}
          search=2Genereer een shamroc search menu (deze optie wordt tzt verwijderd!) &search=2&project=SHAMROC

          &search=2&project=SHAMROC&changes=All
          search_query=... Geef volledige search option (1 query, zonder definitie file) https://ktsoap.sron.nl/ktsoap/ktwebservice.php?&fFolderId=6859&sel=/Doc%20nr/Title/Cat/Issue/L1/L2/L3/L4/L5&css=default&search_query=(["More (specific for small projects)"]["Document type"] is "CN - Change Note")and (Folder starts with "astro-h")&title="CN - Change Note 
          search_qs=... Defineer search option (voor 1 of meerde queries gescheiden door '--', // met een subtitle, subopties en eventueel gebruikmakend van een definitie file).

          met // kan de subtitle per subquery meegegeven worden, extra subopties met // ipv & gescheiden (bijv //sel=Date/Title

          Extra opties:
          &define_file=...
          &folder=...
          &out=table
          &title=...
          &class=...

          Met de optie &out=table kan voor een andere output worden gekonzen (output in 1 tabel),

          Extra definities:
          -- (query split code)
          // (subtitle)
          // (option-1) bijv: //sel=Date/Title // (option-2)


          Extra functionaliteit:
          - Met een file genaamd stylesheet.css in de project directory kan de style van de pagina worden aangepast.

          - De standaard kolomselectie voor bepaalde (project) documenttypes zijn gedefineerd in een tabel ( selection.csv ). deze functie is alleen werkzaam op het search_qs commando niet op een fFolferId=.. optie.


          Let op:
          • opties met scheidingsteken & (&sel=Date/Title)) gelden voor alle queries en opties met // (//sel=Date/Title) voor de subquerie!
          • In een &search_qs=... mogen geen & tekens voorkomen!!



          &search_qs={TN}.{CIM}&$=FWM-XS&search_define_file=Astro-H.txt&toolbar=no&title=FWM-XS TN

          &search_qs={FI}.{STM}.%28{E-03}|{E-04}|{E-05}|{E-06}|{E-07}|{E-08}|{E-13}%29{-}{FI}.{STM}.%28{Q-01}|{Q-02}|{Q-03}|{Q-04}|{Q-05}|{Q-06}|{Q-07}|{Q-08}|{Q-09}%29{-}{FI}.{STM}.%28{N-12}|{O-12}|{P-12}%29{-}{FI}.{All}.%28{E-03}|{E-04}|{E-05}|{E-06}|{E-07}|{E-08}|{E-13}%29{-}{FI}.{All}.%28{Q-01}|{Q-02}|{Q-03}|{Q-04}|{Q-05}|{Q-06}|{Q-07}|{Q-08}|{Q-09}%29{-}{FI}.{All}.%28{N-12}|{O-12}|{P-12}%29 &sort_on=Document%20type&sel=/Date/Title/Doc%20nr=Doc-nr/Author/Issue/Remarks&folder=SAFARI%20system&search_define_file=define.txt&toolbar=no&title=FI_:_As_Designed_STM

          {moskt fFolderId=6859&css=default&search_qs=(Folder starts with "ASTRO-H" AND["More (specific for small projects)"]["Internal CI"] starts with "FW" AND["More (specific for small projects)"]["Document type"] is "PL - Plan" OR ["More (specific for small projects)"]["Document type"] is "PR - Procedure" AND ["More (specific for small projects)"]["Control list"] is "CDSL (As required)")--(Folder starts with "ASTRO-H" AND["More (specific for small projects)"]["Internal CI"] starts with "FW" AND["More (specific for small projects)"]["Document type"] is "SP - Specification" OR ["More (specific for small projects)"]["Document type"] is "SW - Statement of Work" AND ["More (specific for small projects)"]["Control list"] is "CDSL (As required)")}

          <img id="ConvertedImage" SRC="Baseline.png" name="RasterImage" BORDER="0" USEMAP="#visImageMap" > <MAP NAME="visImageMap"> <AREA shape="POLYGON" ALT="ALL" origTitle="ALL" TITLE="ALL" HREF="{CN}.{CIM}//CN - Change Note{-}{CR}.{CIM}//CR - Change Request{-}{NC}.{CIM}//NC{-}{RW}.{CIM}//RW - Request for Waiver{-}{MA}.{CIM}//MA{-}{DG}.{CIM}//DG{-}{LI}.{CIM}//LI{-}{PL}.{CIM}//PL{-}{PR}.{CIM}//PR{-}{RP}.{CIM}//RP{-}{SP}.{CIM}//SP{-}{TN}.{CIM}//TN&title=ALL" COORDS="0,379,304,379,304,342,0,342,0,379"> <AREA shape="POLYGON" ALT="SP" origTitle="SP" TITLE="SP" HREF="{SP}.{CIM}&title=SP" COORDS="171,266,304,266,304,228,171,228,171,266" >

          https://ktsoap.sron.nl/ktsoap/ktwebservice.php?&sort_on=Document%20type&path=/files/KTproject&search_define_file=ASTRO-H/Astro-H.txt&title=FWM%20:%20CN.CIM//CN%20-%20Change%20Note-CR.CIM//CR%20-%20Change%20Request-NC.CIM//NC-RW.CIM//RW%20-%20Request%20for%20Waiver-MA.CIM//MA-DG.CIM//DG-LI.CIM//LI-PL.CIM//PL-PR.CIM//PR-RP.CIM//RP-SP.CIM//SP-TN.CIM//TN&title=ALL&folder=ASTRO-H&search_qs={CN}.{CIM}//CN%20-%20Change%20Note{-}{CR}.{CIM}//CR%20-%20Change%20Request{-}{NC}.{CIM}//NC{-}{RW}.{CIM}//RW%20-%20Request%20for%20Waiver{-}{MA}.{CIM}//MA{-}{DG}.{CIM}//DG{-}{LI}.{CIM}//LI{-}{PL}.{CIM}//PL{-}{PR}.{CIM}//PR{-}{RP}.{CIM}//RP{-}{SP}.{CIM}//SP{-}{TN}.{CIM}//TN&title=ALL&$=FWM
          search_query_file=...Geef search option geheel gedefineerd in een (locale) file &search_query_file=Baseline.txt&folder=SAFARI/web
          search_xml=...Geef search option met output is XML code https://ktsoap.sron.nl/ktsoap/ktwebservice.php?search_xml=1 &sel=/Title/Doc%20nr/created_by/mime_display/Date/Issue &search_title=$text&andor_title=OR&search_generaltext=.$text. &andor_text=OR&search_metadata=$text
          Met $text is de opgegeven zoekterm
          $=... defineer de variabele in de definitie file &$=FWM-XS

          Bijv in definitie file:
          {CIM} ; (["More (specific for small projects)"]["Internal CI"] starts with "$")
          FromDate=...
          ToDate=...
          Toon de documenten na (FromDate) of vanaf (ToDate) een gewenste datum.
          De tekststring dd-mm-yyyy wordt hiervoor omgezet mbv de functie strtotime
          Voorgedefineerde datum: 'today'
          &FromDate=today

          &FromDate=02-02-2012


          Algemeen voorbeeld:
            {moskt &fFolderId=6859&css=default&search_query=([%22More%20(specific%20for%20small%20projects)%22]
            [%22Document%20type%22]%20is%20%22RID%20-%20Review%20Item%20Discrepancy%22)and%20
            (Folder%20starts%20with%20%22astro-h%22)&title=RI%20-%20Review%20Item%20Discrepancy}


            De speciale tekens %20 voor een spatie en %22 voor een " etc .. zie ref_urlencode ) worden ook omgezet door de functie {moskt} zelf!


          Voorbeeld met een definitie file:
            {moskt &sort_on=Document%20type&search_define_file=Astro-H.txt&title=FWM-XS%20CR&search_qs={CR}.{CIM}&$=FWM-XS}


          Nog een (uitgebreidere) voorbeeld :
            {moskt &sort_on=Document%20type &sel=/Date/Title/Doc%20nr=Doc-nr/Author/Issue/Remarks
            &folder=SAFARI%20system&search_define_file=define.txt&toolbar=no&title=FI_:_As_Planned_Project
            &search_qs={FI}.{PL}.%28{C-01}|{C-02}|{C-03}|{C-04}%29{-}{FI}.{PR}.
            %28{C-01}|{C-02}|{C-03}|{C-04}%29{-}{FI}.{RI}.%28{C-01}|{C-02}|{C-03}|{C-04}%29 }


            Voorbeeld: (gedeelte) van de csv-file 'define.txt':
            (hierin is gedefineerd de code welke meegegeven wordt met de optie &search_qs en de volledige (exacte) KT search optie):

            ;special   ; { 
            ;separator ; {-}
            .          ; AND ; 
            |          ; OR ; 
            {SS}       ; (["More (specific for SAFARI)"]["Level"] is "0- SS") 
            {FI}       ; (["More (specific for SAFARI)"]["Level 0"] is "0-1- FI") 
            {GSE}      ; (["More (specific for SAFARI)"]["Level 0"] is "0-2- GSE") 
            {SW}       ; (["More (specific for SAFARI)"]["Level 0"] is "0-2-1- SW/Test Env.") 
            
            {DCU-SPS}  ; (["More (specific for SAFARI)"]["Level 1"] is "0-1-3-1- (SPS)")
            {DCU-DCRE} ; (["More (specific for SAFARI)"]["Level 1"] is "0-1-3-2- (DCRE)")>
            {IES}      ; (["More (specific for SAFARI)"]["Level 1"] is "0-1-4- (IES)")

            Opmerkingen:
            • Het is raadzaam om een unieke code te defineren welke zich niet in de KT metadata velden bevindt (vandaar de extra {} tekens).
            • De te defineren code wordt in een URL megegeven (vandaar een | teken en niet een + teken voor de OR functie).
            • Met het seperator teken kunnen meerdere quereties opgegeven worden welke afzonderlijk (na elkaar) uitgevoerd worden in een scherm pagina.

        A3.2.3 KT-Search option voor de website (XML interface)

          Om de KT-documenten zichtbaar te maken met een search opdracht op de website wordt de search opdracht gegeven vanuit de website aan de KT-server. De KT-server antwoord met XML code welke daarna gedecodeerd wordt op web-site. Deze data wordt daarna geintegreerd in de weergave(output) van de (website) zoekopdracht.

          Er is in een joomla mambot gedefineerd:
          https://ktsoap.sron.nl/ktsoap/ktwebservice.php?&search_xml=1&sel=/Title/Doc%20nr/created_by/mime_display/Date/Issue
          &search_title=$text&andor_title=OR&search_generaltext=".$text."&andor_text=OR&search_metadata=$text"

          • Er is op deze wijze gedefineerd dat de opgegeven tekst zich in de titel of in een van de metadata velden zich kan bevinden.
          • Met de optie &sel= worden de kolommen gedefineerd, XML search options: zie A3.2.1

          Voorbeeld: (gedeelte) XML code:
             <data>
          	<row>
          		<Title> ARBO Jaarverslag 2004 </Title>
          		<Doc_nr> -- </Doc_nr>
          		<Created_by> Jan van Schaijk </Created_by>
          		<Mime_display> Word Document </Mime_display>
          		<Date> -- </Date>
          		<Issue> -- </Issue>
          		<Link> ktwebservice.php?sel=/Title/Doc%20nr/created_by/mime_display/Date/Issue&order=&sort_col=Title&fDocumentId=237</Link>
          	</row>
          	<row>
          		<Title> ARBO Jaarverslag 2005 </Title>
          		<Doc_nr> -- </Doc_nr>
          		<Created_by> Jan van Schaijk </Created_by>
          		<Mime_display> Word Document </Mime_display>
          		<Date> -- </Date>
          		<Issue> -- </Issue>
          		<Link> ktwebservice.php?sel=/Title/Doc%20nr/created_by/mime_display/Date/Issue&order=&sort_col=Title&fDocumentId=314</Link>
          	</row>
            </data>

        A3.2.4 Specifieke project search options (project SHAMROC versie)


      A3.3 Project documentatie weergave met de KT-soap interface

        Met de opties beschreven in A3 kan een directory listing of een KT query listing worden gegenereerd vanuit het cms systeem.
        De vraag kwam om naast de tekst weergave, ook vanuit een grafische omgeving een directory listing en een KT-query listing te maken
        Dit zou wat html kennis vereisen. Gekozen is voor een opzet om dit (eenvoudiger en generieker) door een (php) programma te laten doen met de bijbehorende (simpele) definitie- en layout files.
        Het PHP-programma op de webserver wordt aangeroepen dmv een mambot (code moskt} en {ktproject})

        Voor het weergeven van de optie 'Documents per product' is als voorbeeld een grafische weergave gekozen met '2 lagen' en voor 'Documents per type' een met alleen tekst weergave.

        Per paragraaf kan gekozen worden om het geheel naar eigen hand te zetten met de {moskt} mambot (de zgn. 'onderliggende' laag) of mbv een userinterface, aan te roepen dmv de mambot {ktproject}.

        A3.3.1 Grafische weergave (van KT query search naar document listing)



        Opzet:
        Gewenst is een 2 laags systeem (selectie project specifiek en document type selectie). De eerste laag, met bijbehorende layout-definitie file genereerd een grafische weergave met de bijbehorende links en start bij iedere link een tweede grafische weergave welke uiteindelijk een listing van documenten geeft.

        • De 2 layout definitie files bestaan uit het 'plaatje' zelf (met extensie .png, .gif of .jpg) met de posties (code <AREA coord=..) voor iedere link en de uit te voeren query (< a href=") De map files kunnen gemaakt worden met bijv Visio of Gimp.
        • Aan de link (< a href=) in de 2 layout files wordt alleen de search query meegegeven, het PHP-programma verzorgd de verdere aanvulling aan de link naar het juiste subprogramma met de vereiste opties.
        • De queries in de layout definitie file kunnen ook in verkorte vorm worden ingegeven, als ook een KT query definitie file (een csv file met extensie .txt) wordt meegegeven.
        • Alle files worden aan het mambot {moskt} meegegeven en zonodig doorgegeven aan de 'tweedelaags' PHP-programma.

        Werkwijze:
        • Creeër beide layout ('map') files
          met bijv Visio (Windows) of Gimp (Windows/Linux, zie A7.7 met de bijbehorende links


          Met:
          Link (in code HREF="..") : de search query (volledig of in verkorte vorm met een definitie file)
          Title (in code Title="..") : de titel boven de pagina

          Voorbeeld map-definitie file: Baseline_map.html met de image astro-h-type.png
          <img id="ConvertedImage" src="astro-h-type.png" alt="" name="RasterImage" usemap="#visImageMap" border="0">
          
          <MAP NAME="visImageMap">
          <area shape="rect" coords="0,1,133,39"      href="{CN}.{CIM}&sel=/Doc%20nr/Title/Cat/Issue/L1/L2/L3/L4/L5/Remarks">
          <area shape="rect" coords="1,59,133,92"     href="{CR}.{CIM}&sel=/Doc%20nr/Title/Cat/Issue/L1/L2/L3/L4/L5/Remarks">
          <area shape="rect" coords="170,284,303,322" href="{TN}.{CIM}&sel=/Date/Title/Doc%20nr=Doc-nr/Author/Issue/Remarks">
                                ...
          </MAP>
          
        • Maak de querie definitie file
          Dit is een csv file met 2 kolommen (eerste kolom verkorte schrijwijze link, tweede kolom de bijbehorende KT search query).

          Voorbeeld Query-definitie file (naam gedefineerd mbv de optie '&search_define_file=Astro-H.txt') : Astro-H.txt
          {CN}	; (["More (specific for small projects)"]["Document type"] is "CN - Change Note")
          {MA}	; (["More (specific for small projects)"]["Document type"] is "MA - Manual")
          {LI}	; (["More (specific for small projects)"]["Document type"] is "LI - List")
          {PL}	; (["More (specific for small projects)"]["Document type"] is "PL - Plan")
          
          {CIM}   ; (["More (specific for small projects)"]["Internal CI"] starts with "$")
                                ...
          
          Opmerkingen:
          - De code {} om de variable is gedaan om deze uniek te maken.
          - Ivm met doorgifte via de url zijn voor de and(.) en or(|) speciale tekens gekozen.
          - De code {CIM} is toegevoegd om de varabele $, de selectie in de eerste pagina, in te vullen.
          - {-} Deze code is het scheidingsteken tussen losstaande meerdere queries.



        A3.3.1.1 Defineer en plaats alle files mbv het {ktproject} mambot

        Dit is een extra 'laag' over de {moskt} mambot (is als apart programma werkzaam op de webserver) en vereenvoudigd de werkzaamheden en voert de benodigde checks uit.

        Werkwijze:
        • Edit de pagina, plaats (na inloggen cms, en edit gewenste pagina) een mambot (speciale code):

          Syntax: {ktproject <CMS-folder>,<KT-Folder>, <type>, <map1> , <map2>}     Voorbeeld: {mosproject ASTRO-H,,map}

          Met :
            <CMS-folder>
              het geselecteerde project (de folder op de website waar alle ge-uploade definite- en map files komen te staan.
            <KT-folder>
              de mogelijkheid om een afwijkende KT-start folder op te geven.
            <type>
              het type document:
                      map    ; 2-laags versie  
                      list   ; 1-laags versie  
                      define ; alleen text (zonder plaatjes) zoals 'eventregister' 
        • Verwijderen 'rechterflap' (rechter zijpaneel, standaard SRON-layout) op de webpagina
          Voeg in de title van de pagina twee extra spaties toe (eind van de regel) en het rechter 'flapje' is weg!

        • Start de applicatie (klik op [admin link] op de desbetreffende pagina, onderaan in licht grijs)



        • KTproject programma eigenschappen/extra functionaliteit:
          • Indien mogelijk worden alleen de images(png, jpg, gif) weergegeven voor het desbetreffende project (welke gedefineerd is in de html (map) file (nieuwe functie per oct 2011).
          • De image naam gedefineerd in de (Producttree) list (type:html) file wordt aangepast aan de naam van de gedefineerde list file.
          • Uit de gedefineerde map file (o.a. gemaakt in VISIO) worden alleen de hoognodige opties van de <AREA> tag overgenomen (andere opties zoals javascript: onmouseover() etc. worden niet overgenomen). Ook wordt de de html code (o.a. <href=...) in de map files gechekt op niet toegestanen tekens, zoals spaties welke vervangen wordt door de code '%20'.
          • De .html,.css en .txt files kunnen gedownload en 'on-line' (edit) aangepast worden.
          • Door uploaden van de map files(s), de images en de eventuele definitie file wordt ook specifieke {moskt} code met alle opties (bepaald door de ingegeven velden en de eventuele extra meegegeven opties aan {moskt} in de editor) op de desbetreffende pagina gegenereerd.
          • D.m.v. een stylesheet (er wordt gekeken of de definitie file: 'stylesheet.css' in de desbetreffende directory bestaat) kan de pagina layout aangepast worden.
            Ook per query kan de layout aangepast worden als de optie &class=.. wordt meegegeven per query, een prefix wordt dan voor de class geplaatst bij de desbetreffende query output.

            Aanpassen van de layout (vgl L1,L2,L3,L4,L5 en Author posities) met de stylesheet.css file

          • Voor de Baseline_map files (standaard:Baseline_map.html) kan door toevoeging van de geselecteerde waarde van de eerste laag een gewijzigde map file worden geladen (als de betreffende file aanwezig is in de project directory, bijv Baseline_map_CIH-Flight.html (met selectie CIH-Flight selectie in laag 1).

            Selectie FI (Baseline_map_FI.html)

            Selectie TB (Baseline_map_TB.html)
            Verschillende layout na selectie eerste grafische laag



        A3.3.1.2 Opzet mbv het {moskt} mambot

        Hierbij wort gebruik gemaakt een mambot {moskt path=path&...} op de dezbetreffende pagina welke een PHP script (Productree.php) aanroept op de CMS-server.

        Syntax: {moskt path=<path>&<KT-opties>, width, height}

        Voor de KT-opties en de KT-query opties, zie A3.1 en A3.2.2.

          Voorbeeld met een definitie file en een grafische selectie pagina:
            {moskt path=ASTRO-H&search_define_file=Astro-H.txt&folder=ASTRO-H%20PDR
            &producttree_map=Producttree_ASTRO-H_map.html&fFolderId=7149,720,900}


            Dit genereert de URL (nadat een link is geselecteerd (klik image)):
            https://ktsoap.sron.nl/ktsoap/ktwebservice.php?&sort_on=Document%20type &sel=/Date/Title/Doc%20nr=Doc-nr/Author/Issue/Remarks
            &search_define_file=Astro-H.txt &toolbar=no&title=FWM-XS%20TN&search_qs={TN}.{CIM}


            Dit genereert intern de KT-soap interface een zoekopdracht:
            (["More (specific for small projects)"]["Document type"] is "TN - Technical Note")AND(["More (specific for small projects)"]["Internal CI"] starts with "FWM-XS")

        Laag-1:
        Voorbeeld map definitie file: Producttree_map.html met de image ASTRO-H.gif.
        <IMG id="ConvertedImage" SRC="ASTRO-H.gif" ALT="Page-1" name=RasterImage BORDER="0" USEMAP="#visImageMap">
        
        <MAP NAME="visImageMap">
        <AREA shape="POLYGON" TITLE="ASTH docs" HREF="ASTH" target="_top" COORDS=" 237,32 316,32 316,0 237,0 237,32" > 
                              ... 
        Met 'HREF=' een gedeelte (laag-1) van de verkorte querie (laag-2 vult dit verder aan).

        Laag-2:
        Voorbeeld map-definitie file: Baseline_map.html met de image astro-h-type.png
        <img id="ConvertedImage" src="astro-h-type.png" alt="" name="RasterImage" usemap="#visImageMap" border="0">
        
        <MAP NAME="visImageMap">
        <area shape="rect" coords="0,1,133,39"      href="{CN}.{CIM}&sel=/Doc%20nr/Title/Cat/Issue/L1/L2/L3/L4/L5/Remarks">
        <area shape="rect" coords="1,59,133,92"     href="{CR}.{CIM}&sel=/Doc%20nr/Title/Cat/Issue/L1/L2/L3/L4/L5/Remarks">
        <area shape="rect" coords="170,284,303,322" href="{TN}.{CIM}&sel=/Date/Title/Doc%20nr=Doc-nr/Author/Issue/Remarks">
                              ...
        </MAP>
        
        Opmerking: De 'href="..." geeft de verkorte query aan (zie definitie file) met een extra optie kan worden megegeven welke kolommen geselecteerd moeten worden

        • Upload in de project directory: (zie A3.4))
          • beide map (html) files (gedefineerd met de opties &producttree_map=... &basline_map=... )
          • de 2 images (gedefineerd in map files)
          • de querie definitie file (gedefineerd met &search_define_file=...)

        • Defineer in het cms systeem (editer) op desbetreffende pagina
          • Defineer de link naar de project pagina

            Voorbeeld:
             {moskt path=Astro-H&search_define_file=Astro-H.txt&folder=ASTRO-H%20PDR
              &producttree_map=Producttree_ASTRO-H_map.html,720,900}
            
        Technische achtergrond:
          Dit type document weergave bestaat uit 2 tussenlagen met images die uiteindelijk een listing van de gezochte documenten weergeeft.

        • Laag-1 (Script Producttree.php):
          Dit programma leest een layout definitie file waarin zich het plaatje met de map posities bevindt en genereert hieruit de specifieke links (met opties) naar de tweede laag van het php programma.

          • Script: Producttree.php
            • opties:
              Laag-1:
              • &map =<map filenaam> ; welke de plaatjes met de coordinaten (map) bevat van de 1e laag [default: Baseline_map.php]
              Laag-2:
              • &search_define_file=<file> ;definitie file (op de webserver) voor alle query afkortingen
              • &producttree_map=<file> ;filenaam van de plaatjes met de coordinaten van de 2e laag [default:Producttree_map.html]
              • &folder=<folderID> ;project main-folder (nodig voor o.a. authenticatie check)

          • Leest input file : Producttree_map.html (met de image ASTRO-H.gif (gedefineerd in de map file))
            met de bijbehorende positie van de links):

        • Dmv de optie 'prod=<value>' wordt de keuze uit het eerste programma doorgegeven aan de 2e laag.

          Voorbeeld gegenereerde link
             http://www.sron.nl/files/HEA/ASTRO-H/Producttree.php?prod=ASTH&.....
          

        • Laag-2 (Script Producttree.php?prod=)
          Dit programma gedeelte leest de 'tweede laag' layout file (plaatje en de posties) en genereert een pagina met links (querie opgebouwd uit de doorgestuurde gegevens van het eerste programma gecombineerd met de selectie van dit tweede programma) voor iedere link.
          Doordat de queries heel uitgebreidt kunnen zijn en de KT-metadata velden veel tekst kunnen bevatten is een verkorte notatie toegepast en een definitie tabel wordt meegestuurd voor de KTsoap interface.

          • De opties van laag-1 (&prod=<optie>) worden doorgegeven aan dit script.

          • Voorbeeld Query-definitie file (naam gedefineerd mbv de optie &search_define_file=Astro-H.txt') : Astro-H.txt
            Opmerking: de variable '$' wordt hier dus ingevuld door de vorige pagina en de code {} om de variable is gedaan om deze uniek te maken.

        • Resultaat
          Uiteindelijk worden de documenten in een lijst getoond voor de opgegeven query-selectie
          Voorbeeld link (gebruik makend van de opties: 'search_qs=' en 'search_define_file'):
          https://ktsoap.sron.nl/ktsoap/ktwebservice.php?&sort_on=Document%20type&search_define_file=Astro-H.txt
          &title=FWM%20RP&search_qs={RP}.{CIM}&$=FWM%20&sel=/Date/Title/Doc%20nr=Doc-nr/Author/Issue/Remarks
          
          Opmerking: de spaties zijn geconverteerd naar de code '%20' (in links mogen o.a. geen spaties voorkomen)

        A3.3.2 De 1 laags onderverdeling



        Opzet:
        Creeër een html file met de gewenste layout met de bijbehorende links (verkorte ingave query).

        Werkwijze:
        • Creeër de layout ('map') file met bijv Visio (Windows) of Gimp (Windows/Linux, zie A7.7 met de bijbehorende links (html file) Baseline_map.html
          <IMG id="ConvertedImage" SRC="Tropomi.gif" ALT="Page-1" name=RasterImage BORDER="0" USEMAP="#visImageMap">
          
          <MAP NAME="visImageMap">
          <AREA shape="POLYGON" TITLE="T-FE-GS-O" HREF="{T-FE-GS-O}" COORDS=" 67,601 150,601 150,551 67,551 67,601">
          <AREA shape="POLYGON" TITLE="T-FE-GS-D" HREF="{T-FE-GS-D}" COORDS=" 67,534 150,534 150,484 67,484 67,534">                      ...
          </MAP>
          
          Opmerking: m.b.v. de href="{T-FE-GS-U}" wordt dmv een PHP functie('lnk') de uiteindelijke link uit de opgegeven parameter en de meegegeven settings (definitie file) gegenereerd.

        • Maak de querie definitie file (csv file) define.txt
          {T}       ; (["More (specific for small projects)"]["Internal CI"] is "T")
          {T-IND}   ; (["More (specific for small projects)"]["Internal CI"] is "T-IND")
          {T-FE}    ; (["More (specific for small projects)"]["Internal CI"] is "T-FE")
                                ...
          

        A3.3.2.1 Defineer en plaats alle files mbv het {ktproject} mambot

        • Plaats een mambot op de web pagina (zie verder A3.3.1.1) :
          Syntax: {ktproject <cms-project>,<kt-folder>,<list,map-file1><list,map-file2>}   vbd: {ktproject SAFARI,,list,AIV.html}

          Met:
            - 'cms-project' het geselecteerde project (op de webserver en de KT-folder)
            - 'kt-folder' alternatieve kt-folder
            - 'list' het type document (1 laags).
            - 'list-map' extra optie (voor: Doc's per discipline): de map file i.p.v. de standaard file (Producttree_list.html)




        • Start de applicatie.
          Door het uploaden van de map, images- en de eventuele definitie file wordt ook de {moskt} code op de desbetreffende pagina geplaatst.

        A3.3.2.1 Opzet mbv het {moskt} mambot

        Hierbij gebruik makend van een mambot {moskt path=path&type=1&...} welke een PHP script (Baseline_1.php) aanroept op de cms server.

        Syntax: {moskt path=<path>&type=1&<KT-opties>,width, height}


        • Upload in de project directory: (zie A3.4))
          • map file
          • de image (gedefineerd in de map files)
          • de querie definitie csv file (gedefineerd met &search_define_file=...)

        • Creeër de link in cms (Joomla) pagina/editer:
          Voorbeeld:
            {moskt path=TROPOMI&type=1&map=Producttree_TROPOMI_1.html&search_define_file=define.txt,720,600}
          

        Technische achtergrond
        • Script ('1 laags versie'): Baseline_1.php
          Dit programma leest een html file (plaatje en de posties) en genereert een link (opgebouwd uit de selectie gecombineerd met een definitie file) voor ieder blokje.
          Doordat de queries heel uitgebreidt kunnen zijn en de KT-metadata velden veel tekst kunnen bevatten is een afkorting gemaakt en een definitie tabel wordt meegestuurd voor de KTsoap interface.

          • Baseline_1.php (1-laags versie) opties:
            • &search_define_file=<file> ;definitie file voor alle query afkortingen
            • &map =<map> ;filenaam, welke de plaatjes met de coordinaten (map) bevat
            • &folder=<folder> ;main-folder van het project (nodig voor authenticatie check)


        • Resultaat
          Uiteindelijk worden de documenten in een lijst getoond voor de opgegeven Query-selectie
          https://ktsoap.sron.nl/ktsoap/ktwebservice.php?&sort_on=Document%20type
          &sel=/Date/Title/Doc%20nr=Doc-nr/Author/Issue/Remarks
          &folder=TROPOMI%20system&search_define_file=define.txt&toolbar=no&title=T-FE&search_qs={T-FE}
          

        A3.3.3 Text weergave (van Query-search naar document-listing)



        Opzet:
          Bij deze versie is het uitgangspunt een html file met wat simpele code/definitie.
          Voor iedere link (href=) in de definitie file moet de gewenste query (verkort) opgegeven worden en eventueel een specifieke selectie.
          Hierbij wordt ook gebruik gemaakt van het '1 laags' php script (Baseline_1.php) om de html file met de vereenvoudigde queries en de definitie file in te lezen om de juiste links te genereren.


        Gedefinieerde kolom(=metadata) selectie
          De weergave en de keuze van de kolommen (metadata) bij een bepaalde querie is generiek aangepakt mbv een definitie csv-file (document-type gecombineerd met bepaalde opties) op de KT-server. Er behoeft hierdoor in principe geen extra selectie meegegeven te worden bij iedere zoekopdracht (search_qs=...).

          Bij een project search query wordt gekeken naar het document type(metadata) van de weer te geven files (in de regel wordt het document type van de eerste voorkomende document bekeken). Afhankelijk van het document-type wordt bepaald (mbv de definite file) welke opties meegegeven moeten worden (keuze kolommen, sortering, het weergeven van een footer tekst .. etc).

          • Voorbeeld definitie kolom selectie file:
            "CN - Change Note"   ; sort_on=Doc%20nr&sel=/Doc%20nr/Title/Cat/Issue/L1/L2/L3/L4/L5/Remarks
            "MA - Manual"        ; sort_on=Doc%20nr&sel=/Doc%20nr/Title/Author/Issue/Remarks
                                  ...
            
            Eerste kolom is het document type, 2e kolom zijn de KT opties (zie tabel moskt options in A3.1).

        Werkwijze:
        • Maak de html file met de gewenste tekst opmaak en de bijbehorende vereenvoudigde links (Producttree_TROPOMI_2.html)
          Voorbeeld met link
          <b>CN - </b> <a HREF="{CN}">Change Note</a><br >
          <b>CR - </b> <a HREF="{CR}">Change Request</a><br >
                                ...
          
        • Maak een KT query definitie file (define.txt)
          {CN}	; (["More (specific for small projects)"]["Document type"] is "CN - Change Note")
          {CR}	; (["More (specific for small projects)"]["Document type"] is "CR - Change Request")
          {NC}	; (["More (specific for small projects)"]["Document type"] is "NC - Non-Conformance")
                                ...
            

        A3.3.3.1 Defineer en plaats alle files mbv het {ktproject} mambot

        • Plaats een mambot op de gewenste pagina (zie verder A3.3.1.1)
          Syntax: {ktproject ASTRO-H,,list}

          Met 'ASTRO-H' het geselecteerde project, en 'list' het type document (1 laags).

        • Start de applicatie.
          Door uploaden van de map, images- en de eventuele definitie file wordt ook de {moskt} code op de desbetreffende pagina geplaatst.

        A3.3.3.2 Opzet mbv het {moskt} mambot

        Syntax: {moskt path=<path>&type=1&<KT-opties>,width, height}

        Voor de KT-opties en de KT-query opties, zie A3.1 en A3.2.2. , met type=1 voor de eenlaags versie

        • Upload in de project directory: (zie A3.4))
          • Plaats html file
          • Plaats de querie definitie csv file (gedefineerd met &search_define_file=...)

        • Definier de link in cms (Joomla) pagina/editer:
            {moskt path=TROPOMI&type=1&map=Producttree_TROPOMI_2.html&search_define_file=define.txt,720,600}
          


        Technische achtergrond:
        • Definieer de layout met alle links per type in een .html file, dit gecombineerd met de definitie file en het php script onstaan de volgende links
          De pagina moet in een zgn <iframe> geplaatst worden omdat de KT server zich op een andere server bevindt dan de SRON website en de pagina a.h.w. in een frame op de SRON webpagina getoond moet worden.

          Voorbeeld-1 (een folder listing met de optie: '&fFolderId='):
          <b>CN - </b>
          <a href='https://ktsoap.sron.nl/ktsoap/ktwebservice.php?&fFolderId=2376
          &sel=Title/Doc%20nr/Author/Issue/Date/Remarks'>Change Note</a><br/>
          
          Voorbeeld-2 (een search KT query met de optie: '&search_query='):
          <b>CN - </b>
          <a href='https://ktsoap.sron.nl/ktsoap/ktwebservice.php?&fFolderId=6859&sort_on=Doc%20nr
          &sel=/Doc%20nr/Title/Cat/Issue/L1/L2/L3/L4/L5/Remarks&css=default
          &search_query=(["More (specific for small projects)"]["Document type"] is "CN - Change Note")and 
          (Folder starts with "astro-h")&title="CN - Change Note'>Change Note</a><br/>
          
          <b>CR - </b>
          <a href='https://ktsoap.sron.nl/ktsoap/ktwebservice.php?&fFolderId=6859&sort_on=Doc%20nr
          &sel=/Doc%20nr/Title/Cat/Issue/L1/L2/L3/L4/L5/Remarks&css=default
          &search_query=(["More (specific for small projects)"]["Document type"] is "CR - Change Request")and 
          (Folder starts with "astro-h") &title=CR - Change Request'>Change Request</a><br/> 
          
          Opmerkingen:
          • de '&fFolderId=' optie is ook meegegeven (=hoofd folder van het project) voor de rechten check.
          • I.p.v. de optie '&search_query=' kan voor uitgebreidere queries de gecombineerde optie 'search_qs=' en 'search_define_file' gebruikt worden (zie A3.3.1).

        • Output: genereert uiteindelijk een directory listing (vbd-1) of een listing van files m.b.v. een query (vbd-2).

          Voorbeeld-1 (een folder listing '&fFolderId='):
          https://ktsoap.sron.nl/ktsoap/ktwebservice.php?&fFolderId=1162
          &sort_on=Doc%20nr&sel=/Title/Doc%20nr/Author/Issue/Date/Remarks
          

          Voorbeeld-2 (een KT search query '&search_query='):
          https://ktsoap.sron.nl/ktsoap/ktwebservice.php?&fFolderId=6859&sort_on=Doc%20nr
          &sel=/Doc%20nr/Title/Author/Issue/Remarks&css=default
          &search_query=([%22More%20(specific%20for%20small%20projects)%22]
          [%22Document%20type%22]%20is%20%22SP%20-%20Specification%22)and%20(Folder%20starts%20with%20%22astro-h%22)
          &title=SP%20-%20Specification 
          Opmerking: de spaties zijn geconverteerd naar de code '%20' (in links mogen geen spaties voorkomen)



        A3.4 Project (KT) documenten definitie en uploaden voor de {moskt} methode

        De genoemde project specifieke files moeten op de website geplaatst - en gewijzigd kunnen worden door de gebruiker.
        Dit gaat mbv een KT soap interface welke mbv de code {moskt} met de vele opties (zie A3 {moskt} opties) aangeroepen kan worden.

        Het definieren van een mambot zoals {moskt}
          Om de mambot {moskt ..} in een pagina te kunnen zien moet de editor eigenschap op No WYSIWYG Editor gezet worden (na inloggen -> intranet-> Your Details -> User Editor).


          Hier een voorbeeld van een query search listing mbv de mambot {moskt} met alle opties voor een 'upcoming meetings' selectie in de cms editor.
          De {moskt} opties:
          • Folder selectie: fFolderId=5714 (voor de inlog rechten
            (check op deze folder of er ingelogd moet worden, of sron-intern de rechten heeft, om de folders te tonen)
          • Project selectie (vanaf hier zoeken): folder=SAFARI/web
          • De KT-search querie: search_qs=([%22More%20(specific%20for%20SAFARI)%22][%22Document%20type%22]%20is%20%22MM%20-%20Minutes%20of%20Meeting%22)
            opm. of : search_qs=(["More (specific for SAFARI)"]["Document type"] is "MM - Minutes of Meeting") de 'verboden' tekens worden in {moskt} aangepast.
          • De sortering op de metadata 'Date': sort_on=Date&order=ASC
          • De kolom selectie: sel=/Date/Title/Remarks
          • Extra optie aan de search query (omdat de metadata veld 'Date' geen date-formaat maar tekstformaat heeft kan de search from en to selectie niet in de query zelf!): FromDate=today




        Het plaatsen van project documenten op de website
          Let op: Het pad voor de project specifieke documenten vanaf de server is /KTproject.

          • Start de filemanager (inloggen CMS en dan intranet->filemanager).
            Ga naar de specifieke project directory (eq: KTproject/ASTRO-H)
            Hier staan de project definitie files (.txt) en de plaatjes(.gif/.jpg) en de map files (.html).



          • Upload/download van de (definitie) files
            Hier kunnen de files ge-download en ge-upload worden. Bij updaten van een file, eerst de file op de site deleten en dan uploaden.
            Het wijzigen van een file kan m.b.v. een locale editor (geen tekstverwerker!), zoals notepad (windows) of kwrite / emacs (linux).

        A3.5 Dynamisch gegenereerde 'document per type' listing voor een bepaald project

        Gebruikmakend van de document types definitie (zoals: small project, HIFI project,...) in KT en met de KT-search optie 'folder starts with..' is het mogelijk een html pagina te genereren met alle document type opties met de bijbehorende links voor het geselecteerde project.

        • Voorbeeld (extra meegegeven optie: fFolderId is voor het checken van de rechten)
          <iframe src="https://ktsoap.sron.nl/ktsoap/ktwebservice.php?&fFolderId=10102&project=MicroCarb&css=default&type=dpt" id="moskt" name="moskt" border="" style="color: #666; font-size: 10px;" frameborder="" height="900" scrolling="" width="720"></iframe>



        A3.6 Dynamisch gegenereerde 'document per product' listing voor een bepaald project

        Gebruikmakend van de onderliggende routine 'Producttree.php' vanuit KT en met de KT-search optie 'folder starts with..' is het mogelijk een html pagina
        te genereren met een plaatje met alle document opties met de bijbehorende links, per document type, voor het gekozen project.

        • Voorbeeld

          {moskt fFolderId=11009&sel=/Title/Doc%20nr/Author/Issue/Date/Remarks&nsubdir=2&toolbar=no&view=block&browse=0&blwidth=150,,600}

          Data / folders opbouw in KT:
                   10256 (MC-1000)
                   11015 (00- MC-1000)
                   10246 (01- SRON)
                      11016 (01- SRON)
                      10265 (02- IGs)
                         11017 (01- IGs)
                         10269 (02- MOUNT1)
                         10268 (03- SWIR1)
                         10266 (04- MOUNT2)
                         10267(05- SWIR2)
                       10257 (MC-5000)
                       11010 (00- MC-5000)
                       10270 (01- SRON)
                          11011 (01- SRON)
                          10259 (02- IGs)
                              11012 (01- IGs)
                              10263 (02- MOUNT1)
                              10262 (03- SWIR1)

          Definitie voor de image gegenereerd vanuit KT:
          • De main folder moet een extensie .dgm hebben (naam.dgm)
          • De te weergeven folders moeten het nummer van de KT-data folder in de naam, voorafgegaand door # in zich hebben
          • In de weer te geven folder moeten de [map files] aanwezig zijn:
            • Baseline_map.html (de map file, met aanroep Baseline.png en met de (verkorte) query definitie per document type)
              • Baseline.png (image gedefineerd in Baseline_map.html)
              • Define.txt (definitie van de afkortingen in Baseline_map.html)

            11009 (_Admin-MicroCarb.dgm)
                10993 (MC-1000.dgm)
                    00- MC-1000_#11015
                         [map files]
                    01- SRON_#11016
                         [map files]
                    02- IGs_#11017
                         [map files]
                         11017 01- IGs
                                [map files]
                         10269 02- MOUNT1
                                [map files]
                         10268 03- SWIR1 
                                [map files]
                         10266 02- MOUNT2
                                [map files]
                         10267 03- SWIR2  
                                [map files]      
           
                11001 (MC-5000.dgm)
                   00- MC-5000_#11010
                         [map files]
                   01- SRON_#11011
                         [map files]
                   02- IGs_#11012
                         [map files]
                         11012 01- IGs
                                [map files]
                         10263 02- MOUNT1
                                [map files]
                         10262 03- SWIR1 
                                [map files]
          De output:


          Hierbij wordt de onderliggende url's gegenereerd en aangeroepen:
          • https://ktsoap.sron.nl/ktsoap/ktwebservice.php?fFolderId=11009&sel=/Title/Doc nr/Author/Issue/Date/Remarks&nsubdir=2&toolbar=no&view=block&browse=0
          • https://ktsoap.sron.nl/ktsoap/Producttree.php?&ktpath=61686&search_define_file=61688&map=61687&prod=/01-%20SRON/01-%20SRON

          Voorbeelden [map files]: