Infact - översikt Förklaring av filerna som behövs för att kunna köra infacten. infact.html -!! Laddar in infact.swf. Om flashvar nodeid är satt så går infacten till!!! noden med överrensstämmande id direkt när swfen laddat. infact.swf -!! Infactens komponenter och grafik ligger inuti denna. Den innehåller!! även hela systemet och står för navigationen mellan bubblorna. nodes.swf -!! Denna komponenten innehåller inbäddade fonter för att få texten i!!! bubblorna att se bra ut i alla browsers när texter är roterade och!!! skalade. Innehåller även grafik för bubblorna. as2bridge.swf -! ( Används för att kommunicera mellan actionscript3!!! produktionen och actionscript2 animationerna som finns i Planeten!!! produktionen ) media/* -!! ( Planeten ad hoc filer ) templates/* -!! ( Planeten video ad hoc filer ) uploaded_files/* -! Filer som användaren laddar upp hamnar i denna katalog.!!! Bilder, filmer, egna animationer, loggor m.m. xml/* -!! Innehåller structure.xml som infact.swf läser ifrån för att bygga upp!!! hela nodträdet; search.xml för att få sökningen att fungera samt en!!! frivillig participants.xml om en medverkandesida ska visas i nedre!!! högra hörnet av produktionen. xml/leaves/*! -! Alla KS i produktionen behöver en egen xmlfil som beskriver vilken typ!!! av KS det är samt vart resurserna ligger som den använder och vilka!!! texter som ska visas.
Infact - flöde Vid uppstart så läser Infact.swf in xml/structure.xml och placerar ut alla bubblor på rätt ställe och placerar ut övriga komponenter. När användaren klickar på en av de olika kunskapsbubblorna så visas tillhörande kunskapsscen om det finns en <content> tagg för bubblan i structure.xml. Scenen laddar in den tillhörande xmlfilen som beskriver vilken typ av scen det är, vilka texter som ska visas samt om den innehåller något ytterligare som bilder, animationer, filmer, eller relaterade bubblor. Lägga till en medverkandesida Filen xml/participants.xml behöver finnas och ska vara formaterad som en vanlig kunskapsscen (se xml/leaves/* ). Den kommer att presenteras på samma sätt. Taggen <participantsxml>xml/participants.xml</participantsxml> ska finnas med i structure.xml under <general>. Hur sökningen fungerar i en produktion Vid export genereras xml/search.xml - Denna fil innehåller all sökbar text i produktionen och läses in vid uppstart att få en snabbare sökning. Detta för att slippa ladda in alla kunskapssceners xmlfiler på samma gång. Vid input i söktextfältet nere till vänster så genereras sökträffar i realtid och presenteras i ett fönster med information om vad noden heter, vilken typ den är och i vilket sammanhang sökordet förekommer. Hur man ändrar noder i efterhand Efter man har exporterat ut en produktion så går det fortfarande att lätt ändra på saker. Bubblor genereras efter ett statiskt mönster när infacten skapas, och det är därför möjligt att vissa noder då överlappar varandra. Det går att komma runt genom att ändra i structure.xml. De redigerbara taggarna på varje bubbla är: <id>!! Det unika id:t på noden. Ändras ej, då det är kopplat till sökningen m.m. <name>! Rubriken på bubblan. <info>!! Underrubriken på bubblan som syns när man klickar på den. <radius>! Radie på bubblan. Detta värde skriver över värdet i structure.xml!! på <general><defaultradius> <rot>!! Bubblans rotation i grader relativt från föräldern. <txt_rot>! Rotation av textfälten inuti bubblan. <content>! Sökvägen till kunskapsscenens xmlfil. Denna behövs endast om bubblan är!! en kunskapsscen.
Connectors Linjerna som binder ihop bubblorna i produktionen går att modifiera genom att ändra grafiken i Connector-objektet i infact.fla eller ändra beteendet i klassen connectors.connector.as och sedan kompilera om infact.fla. Bubblor - visuella ändringar Bubblornas utseende kan ändras i nodes.fla - Node objektet. Om vi, låt oss säga, vill skapa en fyrkantig nod så gör man så här: Öppna nodes.fla Rita en fyrkant inuti Node movieclipet Kommentera ut innehållet i funktionen drawwithcolor() i nodes/templates/ DefaultNode.as för att hindra noden att rita om sig själv som en cirkel Spara och kompilera För att få formen att passa in bättre så kan man skruva på värdet <general><distance> i structure.xml för att ändra längden på Connector-linjerna. Det är dock inte att rekommendera att göra formen kvadratisk då det kommer att ge ett ojämnt avstånd mellan bubblan och dess barn, då avstånden beror på ett radievärde och inte efter konturerna på formen. Om man vill använda den vanliga bubblan så finns det ett par features som hör till. Genom att ändra värdena i structure.xml <general> <hovercolor> <visitedcolor> så kan man bestämma bubblans färg när man för muspekaren över, respektive färgen om man har besökt bubblan tidigare.
Ändringar i Planetens xmlfiler Detta är nödvändiga ändringar i Planetens xmlfiler för att få dem att fungera i det nya infactsystemet. I vissa xmlfiler finns den här raden: <a href="asfunction:_global.r.cd.nv.mvto,7512" target=""> Här betyder 7512 id på noden som länken pekar till. De gamla idnumrena stämmer inte längre överens med det nya systemet utan måste manuellt bytas ut till det id noden har fått tilldelat till sig i verktyget. Det ser man genom att gå till editsidan för noden och tittar i adressfältet. På ställen i xmlfilen där ordet nodeid förekommer behöver man också förnya det gamla id:t till det nya. Det finns interna länkar i planetens videoxmler( byta till nya filmer utan att byta KS) som ser ut såhär: <event type="release" refid="hitarea" id="ivideolinkevent1"> <action type="link" id="ivideolinkaction1"> <param name="label"> <![CDATA[>> Kan vi flytta till rymden?]]> </param> <param name="target">ivideo</param> <param name="command">play</param> <param name="time">1</param> <param name="url">media/ivideo/1337/rymdkolonier.xml<param> </action> </event> För att få dessa att fungera så behöver man se till att filnamnet på url-taggen stämmer överens med filnamnet på en tidigare uppladdad planetenvideo.
Infact - koden I infact.as skapas de 4 stora huvuddelarna: nodsystemet, headern, footern och scenen. Nodsystemet Här hämtas structure.xml in och efter att nodes.swf laddats in så skapas instanser av default nod-klassen (angivet i <general><defaultnode>) och kopplas därefter ihop. Här hanteras också sökning och animering till de olika noderna. Header Härifrån läses loggorna in och ev rullgardin skapas om man har flera språk tillgängliga. När man klickar runt i systemet så sparas även nodernas id till i breadcrumbspåret uppe till vänster. Footer Här sker sökningen genom xml/search.xml och visar resultatet ifrån klassen SearchResult. Om <general><participantsxml> finns så skapas en scen som visar eller <general><debug> är satta så skapas även två knappar för att editera kunskapsscener. Scenen KScene.as står för all hantering av kunskapsscenerna. Den läser xmlfilen för den bubbla man klickar på och laddar in tillhörande grafik ifrån template-swfen som specats i xmlfilen under <xml><template>. Här läggs det också på en länkknapp för att få urlen till scenen samt om taggen <related> finns så skapas det även en meny för att kunna gå direkt till relaterade noder. Mallar Varje kunskapsscen har en egen swf med tillhörande layout och komponenter. Dessa ligger under leaves/templates/* Om man vill skapa en helt egen mall så går det bra. Allt som krävs är att dokumentklassen till mallen ärver av AbstractLeaf.as och följer samma xmlstruktur som övriga mallar gör. Vill man använda sig av egna xmltaggar som man har lagt till så kan man överlagra funktionen initwithxml( a_data:xml ).