Categorieën
Geen categorie

Inlog ellende op werk.nl

De site werk.nl is voor velen makkelijk en voor een aantal mensen duidelijk niet. Zo gebruik ik de site als werkgever om mensen te zoeken die misschien bij een vacature van me zouden kunnen passen.

Helaas heb ik er continue last van dat ik vergeet me af te melden en ik elke keer wordt welkom geheten met de melding:  “An error occurred while processing the request. Try refreshing your browser. If the problem persists contact the site administrator”. Wat je ook doet (reload, F5, Ctrl-R, Ctrl-F5) niks helpt. De reden daarvoor is dat er nog oude cookies aanwezig zijn en de site eerlijk gezegd te brak gecodeerd is om hier netjes mee om te gaan.

Ten einde raad was ik vanmorgen begonnen om een extension te gaan bouwen voor Google Chrome zodat ik, en met mij vele anderen als ik afga op een eenvoudige google search, verlost werden van dit stuk ontbrekende functionaliteit.

Maar al zoekende bleek de oplossing erg makkelijk te realiseren door een gevorderde instelling binnen de Google Chrome browser.

De uitleg staat hier: https://support.google.com/chrome/bin/answer.py?hl=nl&answer=95647 . Volg de beschreven stappen onder ” Machtigingen voor cookies en sitegegevens aanpassen”, klik op: “Cookies verwijderen” en daarna op “Uitzonderingen instellen voor cookies van specifieke websites of domeinen”.

Stel daarmee in dat alle cookies van “[*.]werk.nl” bij het verlaten van Chrome verwijderd moeten worden.

Klaar!

Elke keer als Chrome wordt afgesloten worden de cookies verwijderd en kun je daarna gewoon weer inloggen.

Categorieën
Geen categorie

Beschermd: Een nieuw EPD idee

Deze inhoud is beschermd met een wachtwoord. Voer hieronder je wachtwoord in om het te bekijken:

Categorieën
Geen categorie

Aenova’s Timn Enterprise en SOAP

Inleiding

Recentelijk heb ik ervaring opgedaan met de SOAP interface van het Timn Enterprise product van Aenova. Omdat er nogal wat mensen in Nederland gebruik maken van dit product leek het me wel leuk om de opgedane kennis te delen.

Er zijn daarbij vooraf een aantal zaken die je moet weten:

  • De koppeling “lijkt” op SOAP. De interface kan geen WSDL produceren dus je kunt geen stubs laten genereren op basis van een WSDL (die dus niet bestaat).
  • Aenova heeft zelf een document getiteld “TimEnterprise SOAP & SCV” die je kan helpen bij de eerste kleine stapjes. Voor de rest moet je echt een consultant van hun inhuren.
  • Als er al error-logging is dan vindt je die in de beheersconsole niet onder SOAP-log, maar onder ‘server-log’.
  • Er is op de SOAP-interface zelf geen foutmeldingen te krijgen. Je krijgt bij een import-actie een record-id terug. Een leeg record-id betekent dat er een foutmelding in de server-log staat. Waar die staat is dan weer vers twee. Omdat volgens de XML standaard er geen relatie is tussen de volgorde waarin je records verstuurt, versus de geretourneerde resultaten, heb je hier dus feitelijk niks aan. Tenzij je natuurlijk zelf ook een interface in elkaar flanst.
  • Het is erg raadzaam om de normale Java client beschikbaar te hebben (komen we later op) en dat je de rechten hebt om export-definities te maken.

Van start

Nu je dit weet kunnen we van start. Mijn eerste stapjes betekende een script maken dat vanaf Linux (in dit geval een absolute aanrader om te gebruiken) vragen te kunnen stellen aan de Tim server.

Op de Tim server dien je de SOAP interface “aan” te zetten. Je moet daarbij een userid en wachtwoord instellen die je later nodig hebt.

Mijn script zag er als volgt uit:

#!/bin/bash
wget --debug --http-user=timnsoap --http-password=aenova --post-file=$1 -O - http://servernaam:10980/impexp/ | xmllint --format - | less

Voor de duidelijkheid: het script bestaat uit 2 regels. Dus van “wget” tot “less” is 1 regel!

Als je het aanroept vertel je op de commandline welk xml bestand je wilt verzenden, op basis waarvan Tim je vervolgens een antwoord zal geven.

Voorbeeld 1

Een voorbeeld van zo’n XML bestand is het volgende voorbeeld.

Stel dat je een overzicht wil van de mensen die een aanvraag voor een bepaald type verlof hebben ingediend. Als je met behulp van bovenstaand scriptje het volgende bestand naar de Tim server stuurt (pas wel even het email-adres aan dat er in staat), krijg je het antwoord daarop retour (als alles goed gaat).

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<export soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns="impexp.timn.aenova.nl">
<data>
<Aanvraag>
<filter><Persoon><EmailAdres>username@domain.tld</EmailAdres></Persoon></filter>
<Persoon><EmailAdres></EmailAdres></Persoon>
<Periode><Start/><Eind/></Periode>
<Roostercategorie><Naam/><Aanwezigheid/><Status/></Roostercategorie>
</Aanvraag>
</data>
</export>
</soapenv:Body>
</soapenv:Envelope>

Tot zover de export van gegevens. Je kunt ook zaken importeren, maar realiseer je dus wel dat de feedback die je krijgt minimaal is. Geen error-strings retour voor ons sterfelijke zielen :-).

Voorbeeld 2

In het volgende voorbeeld krijgen we uit een andere applicatie een bepaald tijdsbeslag wat we vervolgens bij Tim willen invoeren. Dus wie heeft wanneer wat en hoe lang gedaan?

In XML ziet dat er dan als volgt uit:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<import soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns="impexp.timn.aenova.nl">
<data>
<Tijdregistratie>
<Persoon><EmailAdres>gebruiker@domein.nl</EmailAdres></Persoon>
<Product><Code>6200</Code></Product>
<Datum>31-10-2012</Datum>
<Duur>7:30</Duur>
</Tijdregistratie>
</data>
</import>
</soapenv:Body>
</soapenv:Envelope>

Waar vind je de veldnamen?

Maar hoe kom je er nu achter welke velden er allemaal bestaan?

Eigenlijk is dat nog best eenvoudig (als je het weet). Je gaat namelijk naar de normale  Tim Java-applicatie, en kiest dan Bestand->Import/Export->Import/Export definities (let op de gebruikersrechten!).

In dit scherm is het mogelijk een nieuwe definitie te definiëren. Men kiest een tabel en vervolgens het veld of eventueel het subveld. Als de set met gewenste gegevens naar wens is kan men een export van de gegevens maken. De eerste regel van deze export bevat vervolgens een overzicht van de diverse velden die in de gegevensset staan. Deze kan dan weer als basis dienen voor een SOAP im- of export.

Unieke keys

Als je een bestand steeds opnieuw inleest, bijvoorbeeld met een combinatie van gebruikersnaam, datum, productcode en aantal uur, dan zullen er steeds records worden toegevoegd. Om aan te geven dat een bepaalde combinatie van velden leidt tot een unieke key voorzie je het betreffende veld van de tag “@”, dus bijvoorbeeld <product “@”>.

Afsluitend

Met de kennis die we nu hebben kunnen we zelf aan de slag om uit Tim te halen wat iemands beschikbaarheid is zodat we daar in het project planningspakket rekening mee kunnen houden. Omgekeerd kunnen we de in ons bug-management systeem ingevoerde uren automatisch importeren in Tim zodat iemand slechts éénmalig zijn uren hoeft te registeren.

Categorieën
Geen categorie

Ubuntu geinstalleerd. En dan?

Om een lang verhaal heel kort te maken; kijk hier maar eens naar!

http://debianhelp.wordpress.com/2012/03/09/to-do-list-after-installing-ubuntu-12-04-lts-aka-precise-pangolin/

Categorieën
Geen categorie

Belastingdienst in Nederland: aangifte doen over 2011 vanaf Ubuntu

Kijk, natuurlijk ben ik reuzeblij dat ik aangifte kan doen vanaf een Linux systeem. Maar ik vind het jammer dat ze daarin nogal zijn stil blijven staan: “Het programma ‘Aangifte inkomstenbelasting 2011 voor ondernemers’ is ontwikkeld en getest op Ubuntu 8.0.4. “. Ehm joehoe, fiscus… Die “8” staat voor, jawel, 2008! En eh, het is nu 2012. Please, er is kennis genoeg in de markt om jullie te helpen om weer een beetje bij de tijd te zijn. Echt waar.

En tot die tijd bied de IRC log voor ons allen de nodige hulp:

http://irclogs.ubuntu.com/2012/04/10/%23ubuntu+1.html

De clou zit in het feit dat we tegenwoordig bijna allemaal 64-bits PC’s hebben. En de executable van de fiscus heeft 32-bits bibliotheken nodig.

Dus welke stappen moet je doorlopen? Zie hier:

  1. sudo apt-get install libc6:i386
  2. sudo apt-get install libX11:i386
  3. sudo apt-get install libxext6:i386
  4. sudo apt-get install libsm6:i386
  5. Even controleren of je alle nodige bibliotheken nu hebt: ldd bin/wa2011ux.
  6. Even kijken of er geen “not found”zaken in de uitvoer er tussen staan.
  7. Oh, en hij begint over een font te mopperen. Nu kun je dat blijkbaar met de -L of –font optie regelen.
  8. Deze werkte voor mij: ./wa2011ux –font=-Schumacher-Clean-Medium-R-Normal–12-120-75-75-C-60-KO
  9. Succes!