malmostad / sitevision_assets

Sitevision specific assets used in addition to Global Assets
http://malmostad.github.io/wag-external-v4/
GNU Affero General Public License v3.0
0 stars 1 forks source link

Länk till funktionskontakter har kraschat på Intanätet - Komin #338

Closed olajoh1 closed 7 years ago

olajoh1 commented 8 years ago

Exempel: https://komin.malmo.se/Forvaltningar/Sociala-resursforvaltningen/Overformyndararenden.html

funktionskontakt_1

nikjon76 commented 8 years ago

Denna del av portlet har inte ändrats och felet kommer med största sannolikhet från en differens i APIet. Malmö stad behöver se över sitt Contact API v1 så att det överenskommer med dagen organisation. Även länkar bör ses över då sidor kan vara borttagna och resultatet inte ger korrekt utfall.

contactForm.vm $(document).ready(function() {
$("body").addClass("config"); $('#cn').autocomplete({ serviceUrl:'$renderSoloURL', minChars:4, delimiter: /(,|;)\s*/, // regex or character maxHeight:400, width:0, deferRequestBy: 0, //miliseconds params: { action:'searchJSON',type:$contact.type },
onSelect: function(value, data){
$("#dn").val(data); contactAttributes(); previewContact();
}});

olajoh1 commented 8 years ago

Mårten, vill du göra en bedöming

martent commented 8 years ago

@jesperbylund fördelar alla tickets i nuläget, nya som gamla.

martent commented 8 years ago

Vare sig kontaktkorten Avdelningen för överförmyndarärenden eller Avdelningen för livsmedelskontroll har någon Hemsida ifylld i funktionskontakternas kort.

Man verkar se det i Kontaktrutans redigeringsgränssnitt i SV genom att de etiketterna är kursiverade om det inte finns någon data ifylld i källan, dvs. administrationen av Funktionskontakter. Kontaktbokens API:et kommunicerar vilka fält som finns tydligt i sitt svar till portleten.

Lösningen är att man ändrar i portleten i SV så att de rutor som inte har någon data inte går att klicka i, dvs. är disablade. Och när portleten hämtar data från Kontaktbokens API, kollar om det är värden som är tomma och då avaktiverar länkning av namnet så att det inte blir en länk med ett Velocity-variable från SV som det är nu.

magnivar commented 8 years ago

@tomasrobertsson kommentarer från dig på detta?

tomasrobertsson commented 8 years ago

Då jag inte är helt bekant i eran ganska stora webb undrar jag helt enkelt var hittar jag denna kontaktruta? Är det en ren script-portlet eller är det en java-portlet? Finns den bara på intranätet/komin?

martent commented 8 years ago

Portleten finns https://github.com/malmostad/sv-contact-portlet

martent commented 8 years ago

Jag skrev ett förslag på användar- och administrationsfunktionalitet ovan i https://github.com/malmostad/sitevision_assets/issues/338#247955316 som stämmer med dagens telefonmöte.

Tillägg enligt mötet:

Lägga till en koll på varje annat fält som skrivs ut som kontaktuppgifter att det faktiskt finns, dvs. att Kontaktrutan har fått dem i senaste hämtningen från Kontaktbokens REST-API. Kontaktkortet i kontaktboken kan ändras efter det att visningsfälten valts i Kontaktrutan. Skriv inte ut fält det inte finns någon data för.

Den in-memory-cache som portletten använder är Javas ehcache. Cachningen går att forcera om man plockar upp kontakten i admingränssnittet av portletten och sparar utan att ändra nått.

tomasrobertsson commented 7 years ago

Det finns två sätt att lösa detta på. 1: Kontrollera med linkRenderer.isValidTarget(($linkUsername) om sidan som finns i noden finns. 2: Att det i restAPI sätts ett icke-värde där, att kontrollen #if ($linkUsername), ger falskt svar. Här behöver utvecklingen i API och portlet samordnas, dvs jag behöver veta vad som ska komma från API och även ha testfall där jag kan kontrollera funktion.

för tillfället ligger det en version av portleten med alternativ 1 på test.komin. Första raden skrivs resultatet efter en koll med linkrenderer ut, på andra raden en länk oavsett resultat för kontroll. Vet ni någon sida där som ska ha en länk till en kontakt? Testa gärna då och se om båda raderna får en länk. Osäker på om denna lösning fungerar som det nu är.

För att göra det enklare för mig ge mig gärna exempel på kontakter som ska fungera och sådana där det finns trasiga fält.

martent commented 7 years ago

@tomasrobertsson Du ser att ett värde, på t.ex. homepage i @olajoh1 exempel överst är tomt genom att JSON-objektet du får tillbaka har värdet av en tom sträng, se exempel på:

https://github.com/malmostad/intranet-dashboard/wiki/Contacts-API-v1#get-a-single-group-contact

Det gäller generellt i API:et till Kontaktboken, de properties som finns i dokumentationen returneras alltid men kan vara en tom sträng "" eller null i exemplet i dokumentationen: "homepage": ""

Behöver du ut någon annan data från REST-responsen? Här kan du ju alltid göra kollen med en enkel logik:

om: homepage är lika med "" : skapa ingen <a href runt avdelningsnamnet

@olajoh1, ger du exempel på kontakter som @tomasrobertsson efterfrågar ovan?

olajoh1 commented 7 years ago

Exempel på sidor som inte fungerar.

https://komin.malmo.se/Arbetsfalt-verksamheter/Individ--familj/Verksamheter/Missbruks--och-beroendevard/Avenboken/BehandlingsHem.html

https://komin.malmo.se/Forvaltningar/Sociala-resursforvaltningen/Overformyndararenden.html

https://komin.malmo.se/Arbetsfalt-verksamheter/Individ--familj/Verksamheter/Missbruks--och-beroendevard/Avenboken/ReBo-enhet.html

Inget av dessa exempel fungerar på test.

tomasrobertsson commented 7 years ago

När jag väl ser problemet är det ju enkelt löst. https://komin.test.malmo.se/Forvaltningar/Sociala-resursforvaltningen/Overformyndararenden.html se exempelvis på sidan ovan. Är det fler fält i kontaktformuläret som ni vet behöver en hårdare kontroll?

magnivar commented 7 years ago

@olajoh1 Är denna klar och kan stängas?

olajoh1 commented 7 years ago

ok