Standaard componenten

Standaard (importeerbare) CMS componenten

[[[clickpath]]]

Toont een klikpad. Alle elementen zijn hyperlinks die de korte titel weergeven. De lange titel verschijnt als de muis boven de hyperlink hangt.

[[[forum]]]

Toont een forum. Hiermee kunnen bezoekers met elkaar discussiëren. Het forum is niet gekoppeld aan het beveiligingssysteem en kan dus ook gebruikt worden op publieke webpagina’s.

[[[hormenu]]]

Toont een horizontaal menu van de bovenkant (direct onder de homepage) van de site. Alle elementen zijn hyperlinks die de korte titel weergeven. De lange titel verschijnt als de muis boven de hyperlink hangt.

[[[minibase]]]

Toont een minidatabase met zoekfunctie. De inhoud van de database is in CSV formaat en kan worden beheerd met Microsoft Excel. Het is zaak goed op te letten dat Excel ook daadwerkelijk CSV wegschrijft. Aangezien er 2 CSV formaten zijn (met , of met ; scheiding) is er tevens een conversievoorziening.

[[[new]]]

Toont de nieuwste pagina’s. De pagina’s moeten gepubliceerd zijn en niet in behandeling zijn.

[[[response]]]

Toont een reactievoorziening. Hiermee kunnen bezoekers reageren op de inhoud van een pagina. De reactievoorziening is niet gekoppeld aan het beveiligingssysteem en kan dus ook gebruikt worden op publieke webpagina’s.

[[[search]]]

Toont een zoekmachine. De markeervoorziening is sterk afhankelijk van de inhoud en opzet van de site en kan dus in veel gevallen beter uitgeschakeld worden.

[[[sitemap]]]

Alle elementen zijn hyperlinks die de korte titel weergeven. De lange titel verschijnt als de muis boven de hyperlink hangt.

[[[vermenu]]]

Alle elementen zijn hyperlinks die de korte titel weergeven. De lange titel verschijnt als de muis boven de hyperlink hangt.

[[[year]]]

Toont het huidige jaartal.

[[[clone:{pageid}]]]

Maak een kopie van een pagina elders op de site. {pageid} dient hierbij vervangen te worden door het ID (iets als 4c9649d85f110e51e777836085130ea3) van de betreffende pagina. Het ID is onderdeel van de URL (het adres) van de pagina.

[[[jump:{url}]]]

Spring direct naar een bepaalde pagina. {url} dient hierbij vervangen te worden door het volledige adres van de betreffende pagina.

[[[superjump:{url}]]]

Spring direct naar een bepaalde pagina, waarbij deze opent in een nieuw venster. {url} dient hierbij vervangen te worden door het volledige adres van de betreffende pagina.

[[[mailing]]]

[[[mailing:{ask}:{enter}:{leave}:{entered}:{left}]]]

 

Toont een voorziening waarmee bezoekers zich kunnen inschrijven of uitschrijven voor een nieuwsbrief. Het is mogelijk een bericht te maken, uit te testen en vervolgens te verzenden naar iedereen die zich heeft ingeschreven.

 

De volgende standaardteksten worden gebruikt:

 

{ask}                Uw e-mail adres

{enter}              Inschrijven

{leave}              Uitschrijven

{entered}           U bent ingeschreven

{left}                 U bent uitgeschreven

 

Van deze standaardteksten kan worden afgeweken door ze als parameter mee te geven.

[[[email:{e-mailaddress}:{name}]]]

 

Toont een hyperlink waarmee een nieuw e-mailbericht wordt geopend met {e-mailaddress} als geadresseerde. {name} wordt gebruikt voor de tekst van de hyperlink. Het e-mailadres en de naam worden geëncrypt (vervormd) om spam tegen te gaan.

[[[minipoll]]]

Hiermee kan een enquete op de site worden gezet.

Toont in het CMS een treenavigatie met de folder uit het DMS. Kan samen met het files component gebruikt worden.

[[[freehtml:{optionalid}]]]

Toont een blok met tekst (html) welke in concept-mode middels Microsoft Word kan worden bewerkt.

[[[username]]]

Toont de naam van de huidige gebruiker. Let op, indien de gebruiker niet is ingelogd zal OpenIMS de gebruiker vragen om in te loggen.

[[[htmlmailing]]]

Toont een inschrijfformulier waarmee bezoekers zich inschrijven en uitschrijven voor een HTML nieuwsbrief.

 

Voor de beheerder is het mogelijk een HTML nieuwsbrief te versturen. De mogelijke nieuwsbrieven zijn de kinderen van de pagina waarop dit component is geplaatst. Instelbaar zijn: verzendadres, naam verzender en onderwerp. De lijst met inschrijvingen is te downloaden en men kan een voorbeeld van de nieuwsbrief versturen.

[[[fotoalbum:{dmsdir}:{columns}:{width}:{height}:{slice}]]]

Het component laat een overzichts-tabel van afbeeldingen in een folder uit het DMS zien. Wanneer er op een foto in het overzicht wordt geklikt, krijgt men een enkele foto te zien met vorig-volgende-eerste-laatste navigatie. Door op de foto te klikken springt men weer terug naar het overzicht.

Voor een goede werking dient de GD-bibliotheek geactiveerd te zijn. Dit valt te controleren in het onderhoudscherm van OpenIMS middels de 'controleer configuratie OpenIMS'-link.

Voorbeeld:

[[[fotoalbum:8738fb82c7be2965bf730949233cb543:4:150:150:10]]]

Uitleg parameters:

{dmsdir} Sleutel van de folder in het DMS (afbeeldingen van een type anders dan .bmp, .jpg, .jpeg .png .gif  worden genegeerd).

{columns} Aantal kolommen van overzichtstabel.

{width} Maximale breedte in pixels van een afbeelding in de overzichtstabel (de afbeeldingen behouden breedte/hoogte verhouding)

{height} Maximale hoogte in pixels van een afbeelding in de overzichtstabel (de afbeeldingen behouden breedte/hoogte verhouding)

{slice} Het maximale aantal afbeeldingen per overzichtstabel.

Standaard (importeerbare) DMS assistenten

Thumbnails

Toont de afbeeldingen van de huidige folder als thumbnails in het assistenvenster. Indien in PHP de GD- bibliotheek actief is worden er on-the-fly thumbnails gegenereerd, anders worden de afbeeldingen geschaald middels HTML.

Web generator

Middels de webgenerator kunnen Microsoft Word documenten worden omgezet naar één of meer HTML pagina’s. Hiervoor dienen extra metadata velden aan de workflow te worden toegevoegd. Instructies hiervoor staan in de code van het component beschreven. Zie ook de extra (installatie-)instructies voor de webgenerator.

Lees historie

Maakt een hyperlink waarmee een overzicht wordt getoond met daarin wie en wanneer het betreffende document geraadpleegd heeft.

 

N.B. dit werkt alleen bij nieuw gemaakte hyperlinks of indien men gebruikt maakt van de document connector.

Publiceer geselecteerde documenten

Deze assistant is ontwikkeld om het publiceren van grote hoeveelheden documenten te faciliteren. In de historie van het document kan men dit ook terugzien. Alle geselecteerde documenten worden gepubliceerd.

 

Waarschuwing: Mensen die de assistant mogen gebruiken, kunnen bestanden uit elke workflow publiceren.

Speciale en ondersteunende functionaliteit

Special document data

Voeg extra informatie toe aan documenten. Deze informatie kan middels de ‘velden’-functionaliteit en de OpenIMS VBA Integration Macro’s worden getoond in documenten zelf.

HTML fixer

Hiermee kan na het uploaden van een HTML bestand de inhoud (zowel de tekst als de HTML) worden aangepast. Denk hierbij onder andere aan het corrigeren van corrupte HTML dat door bepaalde tekstverwerkers wordt gegenereerd.

HTML content filter

Hiermee kan de HTML in het [[[content:]]]-gedeelte van CMS pagina's gefilterd worden vlak voordat deze naar de browser gestuurd wordt.  Toepassingen zijn o.a. het verwijderen van bepaalde tags om daarmee uniforme layout te forceren, of het automatisch repareren van hyperlinks als de naam van de server gewijzigd is.

 

Voorbeeld om de dubbele <html> en <body> tag die ontstaat door gebruik van Word als HTML-editor, te verwijderen:

function IMS_HtmlContentFilter ($content) {

  $content = str_replace (" vml ", " ignorevml ", $content);

  $content = str_replace ("!vml", "!ignorevml", $content);

 

  // Verwijder html, head, body en meta uit Word document

  $pats[] = '/<\/?html>/';

  $pats[] = '/<\/?head>/';

  $pats[] = '/<\/?body[^>]*>/';

  $pats[] = '/<\/?meta[^>]*>/';

  $reps = array();

  $content = preg_replace($pats,$reps,$content);

}

 

Voorbeeld om absolute hyperlinks naar een "oude" website te corrigeren:

function IMS_HtmlContentFilter ($content) {

  $content = str_replace("http://oudedomeinnaam/", "http://nieuwedomeinnaam/", $content);

}

 

Voorbeeld (lang!) om een flink aantal fouten van Word te verbeteren en alle door de gebruiker ingestelde layout te verwijderen:

function IMS_HtmlContentFilter ($content) {

  $content = str_replace (" vml ", " ignorevml ", $content);

  $content = str_replace ("!vml", "!ignorevml", $content);

 

  // Verwijdert de <style> en <script> tags en alles wat daartussen staat

  // Dit moet gebeuren *voordat* de betreffende tags met strip_tags verwijderd worden!

  $search = array('@<script[^>]*?>.*?</script>@si',   // Javascript

                  '@<style[^>]*?>.*?</style>@si',     // Style tags

                  '@<![\\s\\S]*?--[ \\t\\n\\r]*>@'    // Comments

  );

  $content = preg_replace($search, '', $content);

 

  // Verwijder html, head, body en meta uit Word document

  $pats[] = '/<\/?html>/';

  $pats[] = '/<\/?head>/';

  $pats[] = '/<\/?body[^>]*>/';

  $pats[] = '/<\/?meta[^>]*>/';

  $reps = array();

  $content = preg_replace($pats,$reps,$content);

 

  // Zorgt dat metadata in (uit Word geconverteerde) documenten zichtbaar is

  // Dit is niet nodig voor "gewoon" CMS, alleen nodig als er DMS documenten naar HTML

  // geconverteerd worden, en in die DMS documenten metadata staat.

  $pat = "#(>)[^a-zA-Z_](</span>MACROBUTTON)#Uims";

  $rep = "\\1\\2";

  $content = preg_replace ($pat, $rep, $content);

  $pat = "#[<]!--[[]if supportFields.[>]([^!]*)[ ]*MACROBUTTON.*OPENIMS_FIELD".

         "_[a-zA-Z_]*[^a-zA-Z_]([^<]*.*)[<]![[]endif.--[>]#Uims";

  $rep = "\\1\\2";

  $content = preg_replace ($pat, $rep, $content);

 

  // Verwijder alle tags die niet in onderstaande lijst voorkomen.

  // (dus verwijder <o:p>-tags, de extra <head>-sectie, en alle <font> tags).

  $content = strip_tags($content,

      "<a><abbr><acronym><area><b><big><blockquote><br><button>" .

      "<caption><cite><code><col><colgroup><dd><del><dfn><dl><dt><em>".

      "<fieldset><form><h1><h2><h3><h4><h5><h6><hr><i><img><input><ins>".

      "<kbd><label><legend><li><map><object><ol><optgroup><option><p>".

      "<param><pre><q><samp><select><small><strong><sub><sup>".

      "<table><tbody><td><textarea><tfoot><th><thead><tr><ul>".

      "<div>");

             

  // Strip certain attributes (case-insensitive)

  $search = array('@\sclass=".*?"@si',

                  '@\sclass=\'.*?\'@si',

                  '@\sclass=[a-z0-9_\-]+@si',

                  '@\sstyle=".*?"@si',

                  '@\sstyle=\'.*?\'@si',

                  '@\son[a-z]+=".*?"@si',

                  '@\son[a-z]+=\'.*?\'@si',

                  '@\salign=".*?"@si',

                  '@\ssize=".*?"@si',

                  '@\sborder=".*?"@si',

                  '@\shspace=".*?"@si',

                  '@\svspace=".*?"@si',    

  );

  $content = preg_replace($search, '', $content);

 

  // Oplossing voor te veel witregels (<p>'s in Word zijn gestyled om

  // naar nieuwe regel te springen, niet om een hele

  // regel over te slaan  Die style hebben we nu verwijderd.)

  $content = preg_replace("@<p[^>]*>@si", "", $content);

  $content = str_ireplace("</p>", "<br />", $content);

 

  // Word kan niet omgaan met links relatief tot de webroot van de server (zonder hostname)

  // Hij zet er zo'n 10x "../" voor.  Fix:

  // Zet hier de naam van je site neer (ipv prinsjesdag2007_nl)

  $content = preg_replace("@(\.\./)+(prinsjesdag2007_nl|openims)/@si",

                          "/$2/", $content);

  // Vraagteken in url gaat ook niet goed.

  $content = preg_replace("@\.php%3f@si", ".php?", $content);

 

  return $content;

 

}

HTML filter

Hiermee kan alle HTML op CMS pagina's gefilterd worden voordat het naar de browser gestuurd wordt.  Dus niet alleen de [[[content:]]], maar ook de HTML die in de template gedefineerd is, of die door CMS componentent gegenereerd wordt.

SKIN management

Hiermee kan de layout van het DMS aangepast worden.

Assignable Users filter

Hiermee kan men de lijst van gebruikers waaraan toegewezen mag worden bij een workflowstap, verder beperken.

 

Permanent beschikbare lowlevel/query functies

Redirector

Hiermee is het mogelijk naar eigen inzicht de afhandeling van korte URL’s aanpassen.

 

De betreffende logica wordt aangeroepen voordat de standaard afhandeling wordt aangeroepen.

 

Bijvoorbeeld: ”

 

if ($shorturl==google) N_Redirect(http://www.google.com);

 

Altijd als eerste op de hoogte van de laatste nieuwtjes?

Schrijf je in voor onze nieuwsbrief