{"id":67,"date":"2012-07-16T17:30:28","date_gmt":"2012-07-16T15:30:28","guid":{"rendered":"http:\/\/blog.systemconnect.dk\/?p=67"},"modified":"2014-01-31T08:03:48","modified_gmt":"2014-01-31T07:03:48","slug":"historien-om-hvordan-en-svensk-ol-kan-bliver-til-en-helt-ny-xal-version","status":"publish","type":"post","link":"https:\/\/scblog.lynge.org\/?p=67","title":{"rendered":"XAL-version 3.5, code name &#8220;Sweedish Beer&#8221;"},"content":{"rendered":"<p>&#8230;eller bare &#8220;historien om hvordan en Svensk \u00f8l n\u00e6sten blev til en ny XAL version&#8221; \ud83d\ude09<\/p>\n<p>Hvad er der galt med dette billede?<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-68\" title=\"XAL version\" alt=\"\" src=\"http:\/\/blog.systemconnect.dk\/wp-content\/uploads\/2012\/07\/XAL-version.png\" width=\"628\" height=\"637\" srcset=\"https:\/\/scblog.lynge.org\/wp-content\/uploads\/2012\/07\/XAL-version.png 628w, https:\/\/scblog.lynge.org\/wp-content\/uploads\/2012\/07\/XAL-version-295x300.png 295w\" sizes=\"auto, (max-width: 628px) 100vw, 628px\" \/><\/p>\n<p>Nej &#8211; der er ikke billedmanipuleret, men der er tale om en XAL 3.5 applikation, der afvikles p\u00e5 en C5 version 2010-kerne og derfor\u00a0naturligvis ogs\u00e5\u00a0viser den nye Navigationsmenu. Vi har ikke testet p\u00e5 2012 kernen, men forventer egentligt ogs\u00e5 at det spiller med de samme begr\u00e6nsninger.<\/p>\n<p>Og hvorfor s\u00e5 egentligt pr\u00f8ve det? Jo, det startede med en \u00f8l blandt kolleger p\u00e5 Falkenberg Strandbaden i Sverige efter en lang arbejdsdag hos en kunde. Her spurgte en svensk kollega forsigtigt om\u00a0jeg egentligt nogesinde havde pr\u00f8vet at afvikle XAL-applikationen p\u00e5 en C5 kerne&#8230;. Og den slags sp\u00f8rgsm\u00e5l er jo farlige :-)&#8230;..<\/p>\n<p>Den testede applikation er naturligvis ikke helt brugbar &#8211; men det er t\u00e6t p\u00e5. Vi har dog ingen planer om at forts\u00e6tte arbejdet &#8211; dels fordi der skal et par karftige workarounds til &#8211; og dels fordi der jo \u00e5bentlyst er licensm\u00e6ssige problemer (for hvilke moduler er det nu lige man skal have til den XAL licens man skal bruge &#8211; og hvilke moduler skal man have til C5 licensen?).<\/p>\n<p>Som udgangspunkt virker de generelle ting dog &#8211; s\u00e5 vi har testet langt nok til at konkludere at det er <strong>teknisk<\/strong> muligt, hvis man vil lave\u00a0det n\u00f8dvendige benarbejde.<\/p>\n<p>Undervejs\u00a0m\u00f8dte\u00a0og l\u00f8ste vi bl.a.\u00a0f\u00f8lgende problemer:<\/p>\n<ul>\n<li>Vi fik overbevist C5-kernen om at alle systemtabeller blev erstattet af &#8220;Placeholder&#8221;-tabeller. Systemtabeller h\u00f8rer nemlig til i en applikationsgruppe, der tilsyneladende er hardcodet i kernen. Og de er naturligvis forskellige i C5 og XAL. Alle XALs tabeller ligger derfor som brugerdefinerede tabeller.<\/li>\n<li>Der blev rettet et par sm\u00e5ting i applikationen da der er indf\u00f8rt nogle f\u00e5 \u00e6ndringer i de nye C5-kerner. Bl.a. kan en string nu max v\u00e6re p\u00e5 1.000 bytes, ligesom man ikke m\u00e5 have virtuelle felter med samme navn p\u00e5 samme form.<\/li>\n<li>C5UTIL.SYS blev t\u00f8mt og alle XALs elementerne blev\u00a0importeret til C5UTIL.USR<\/li>\n<\/ul>\n<p>Ul\u00f8ste problemer omfatter bl.a.:<\/p>\n<ul>\n<li>En r\u00e6kke makrokald, der checker licenskoder osv,\u00a0skal pakkes ind i et eller andet system, s\u00e5 man kan styre hvad folk rent faktisk har licens til i XAL applikationen. For ellers st\u00e5r applikationen piv \u00e5ben for alting uanset hvad man har licens til i XAL<\/li>\n<li>En del elementer skal porteres fra C5 &#8211; fx. brugeradministrationen, licenskode indtastning\/indl\u00e6sning, brugerliste osv. da disse ting jo netop er \u00e6ndret i C5 ift. XAL<\/li>\n<li>En del af den nye funktionalitet fra C5-kernerne\u00a0burde vel ogs\u00e5\u00a0udnyttes i XAL-applikationen (fx. integrationen til Excel, print2office osv.) for\u00a0at bringe den up-to-date<\/li>\n<li>De logningstabller, der i XAL var undtaget fra databasepladsberegningen er IKKE undtaget i C5 &#8211; men det kunne &#8220;l\u00f8ses&#8221; ved at indarbejde vores XAL til C5 porterede <a title=\"Nej, nej, nej \u2013 ikke endnu et logningsmodul til C5!?!?\" href=\"http:\/\/blog.systemconnect.dk\/?p=64\">logningsframework<\/a> i\u00a0XALen. Det modul l\u00f8ser nemlig samme problematik i C5.<\/li>\n<li>&#8230;og sikkert mange andre sm\u00e5ting&#8230;<\/li>\n<\/ul>\n<p>&#8230;og som sagt er der naturligvis k\u00e6mpe licens issues\u00a0&#8211; s\u00e5 ud over det &#8220;n\u00f8rdede&#8221; i at pr\u00f8ve, er der ingen fremtid i at udf\u00f8re arbejdet&#8230; Men det var nu meget sjovt alligevel :-)&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8230;eller bare &#8220;historien om hvordan en Svensk \u00f8l n\u00e6sten blev til en ny XAL version&#8221; \ud83d\ude09 Hvad er der galt med dette billede? Nej &#8211; der er ikke billedmanipuleret, men der er tale om en XAL 3.5 applikation, der afvikles &hellip; <a href=\"https:\/\/scblog.lynge.org\/?p=67\">L\u00e6s resten <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[37,4],"tags":[15,43,13,53,14,25,20,24],"class_list":["post-67","post","type-post","status-publish","format-standard","hentry","category-klassisk-c5","category-klassisk-c5-teknik","tag-business-solutions","tag-c5","tag-damgaard-data","tag-klassisk-c5","tag-microsoft","tag-sjov","tag-udokumenteret","tag-xal"],"_links":{"self":[{"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=\/wp\/v2\/posts\/67","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=67"}],"version-history":[{"count":17,"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=\/wp\/v2\/posts\/67\/revisions"}],"predecessor-version":[{"id":427,"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=\/wp\/v2\/posts\/67\/revisions\/427"}],"wp:attachment":[{"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=67"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=67"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=67"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}