<?xml version="1.0" encoding="iso-8859-1" ?>
<rss version="2.0">
	<channel>
		<title>BlitzBasic Portal Worklogs - BlitzBasic Portal</title>
		<link>http://www.blitzforum.de/worklogs/1/</link>
		<description>Worklog von BlitzBasic Portal Moderatoren</description>
		<language>de</language>
		<managingEditor>mail@blitzforum.de</managingEditor>
		<webMaster>mail@blitzforum.de</webMaster>
		<pubDate>Thu, 01 Jul 2010 17:59:10 +0200</pubDate>
		<lastBuildDate>Thu, 01 Jul 2010 17:59:10 +0200</lastBuildDate>

		<item>
			<title>Teamgröße</title>
			<link>http://www.blitzforum.de/worklogs/1/#2640</link>
			<guid>http://www.blitzforum.de/worklogs/1/#2640</guid>
			<author>YellowRider</author>
			<description>Hallo Gemeinde!&lt;br /&gt;&lt;br /&gt;Wie die meisten wohl wissen, sind Teams mit nur einem Mitglied nicht erw&amp;uuml;nscht. Um dem besser entgegenzuwirken, ist es beim Erstellen eines Worklogs nun nur noch m&amp;ouml;glich, diesem ein Team mit mehr als einem Mitglied zuzuordnen. Teams mit nur einem Mitglied werden nicht mehr in der Auswahlliste gezeigt.&lt;br /&gt;&lt;br /&gt;Ich w&amp;uuml;nsche Euch einen sch&amp;ouml;nen warmen Abend,&lt;br /&gt;YellowRider</description>
			<pubDate>Thu, 01 Jul 2010 17:59:10 +0200</pubDate>
		</item>

		<item>
			<title>Leichenschänder-Warnung</title>
			<link>http://www.blitzforum.de/worklogs/1/#2434</link>
			<guid>http://www.blitzforum.de/worklogs/1/#2434</guid>
			<author>hamZta</author>
			<description>Hallo!&lt;br /&gt;&lt;br /&gt;Da sich in letzter Zeit die Thread-Leichensch&amp;auml;ndungen wieder h&amp;auml;uften (der Rekord liegt bei 6 Jahren?) und vor allem neue User uralte Threads mit belanglosen Beitr&amp;auml;gen von ganz unten wieder hochholten habe ich eine kleine, auff&amp;auml;llige Warnung eingebaut die erscheint, wenn man versucht auf Threads zu antworten die &amp;auml;lter als ein Jahr sind.&lt;br /&gt;&lt;br /&gt;Ich hoffe, das sorgt daf&amp;uuml;r dass manche Benutzer nochmal nachdenken bevor sie ihre Antwort abschicken!&lt;br /&gt;&lt;br /&gt;Gute Nacht!&lt;br /&gt;&lt;br /&gt;hamZta</description>
			<pubDate>Fri, 28 May 2010 02:00:14 +0200</pubDate>
		</item>

		<item>
			<title>Eigene Dateien</title>
			<link>http://www.blitzforum.de/worklogs/1/#2154</link>
			<guid>http://www.blitzforum.de/worklogs/1/#2154</guid>
			<author>D2006</author>
			<description>Hellas folks,&lt;br /&gt;&lt;br /&gt;es mag zwar bl&amp;ouml;d sein, ein und dasselbe an zwei verschiedenen Stellen im Forum vorzustellen, aber erstens kriegt man so sp&amp;auml;ter beim Lesen dieses Worklogs mit, wann was in welcher Reihenfolge kam, und zweitens ist die neue Dateiverwaltung in den Eigenen Dateien einfach mal so cool, dass das sein muss!  &lt;img src=&quot;/forum/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; /&gt; &lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;/forum/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; /&gt; &lt;a href=&quot;http://www.blitzforum.de/forum/viewtopic.php?t=34056&quot; target=&quot;_blank&quot;&gt;Hier geht's zur Ank&amp;uuml;ndigung im Portal-Forum.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Bei der Entwicklung fielen mir zwei Bugs im Showcase auf. Wenn man seinen Eintrag bearbeitet und per &amp;quot;Galeriebild ausw&amp;auml;hlen&amp;quot; oder &amp;quot;Download ausw&amp;auml;hlen&amp;quot; das jeweils dazugeh&amp;ouml;rige Popup anforderte, so wurde das einem mit einem Fehler 404 bedankt. Warum in aller Welt ist das nie jemandem aufgefallen? Nunja, jetzt geht's wieder.&lt;br /&gt;&lt;br /&gt;Die Funktion der ungelesenen Worklogs macht wohl hin und wieder immernoch Probleme. Da sich das immer schlecht reproduzierend l&amp;auml;sst, bitte ich um Geduld. Sollte die NEU-Markierung partout nicht verschwinden, bitte ich alle &amp;quot;blitzforum_wl&amp;quot; Cookies zu l&amp;ouml;schen (k&amp;ouml;nnten zwei sein) und es dann noch mindestens zwei Mal zu probieren.&lt;br /&gt;&lt;br /&gt;Die Eigenen Dateien waren ein ganzer Brocken Arbeit, aber die Motivation ist ungebrochen. Demn&amp;auml;chst also: Wie endlich das Kommentieren besser werden kann... stay tuned!</description>
			<pubDate>Tue, 23 Feb 2010 01:22:14 +0100</pubDate>
		</item>

		<item>
			<title>Ungelesene Worklogs</title>
			<link>http://www.blitzforum.de/worklogs/1/#2143</link>
			<guid>http://www.blitzforum.de/worklogs/1/#2143</guid>
			<author>D2006</author>
			<description>Ich habe soeben eingebaut, dass man Forum-like &amp;uuml;ber ungelesene Worklogs informiert wird. Diese haben in der Liste ein fettes &amp;quot;&lt;b&gt;Neu: &lt;/b&gt;&amp;quot; vorm Namen stehen. Au&amp;szlig;erdem tauchen sie in &lt;i&gt;BBP Live&lt;/i&gt; auf.&lt;br /&gt;&lt;br /&gt;Ich erw&amp;auml;hnte &amp;uuml;brigens letztens nicht, dass es im Showcasebereich in der Sidebar nun einen Link zu den eigenen Projekten gibt.&lt;br /&gt;&lt;br /&gt;Nachgelegt: Nach W&amp;uuml;nschen aus dem Chat habe ich im Dateiarchiv-Bereich das Forumlar zum Hochladen vor die Dateileiste gesetzt, damit man nicht mehr so weit scrollen muss.&lt;br /&gt;&lt;br /&gt;Ausgebessert: (18.02.2010) Nachdem nun endlich mal wieder jemand einen Worklog-Eintrag schrieb, konnte ich hier die in den Kommentaren erw&amp;auml;hnten Probleme nachvollziehen und beheben. Die &amp;quot;Neu:&amp;quot;-Markierung sollte nun nach dem Lesen wirklich verschwinden. F&amp;uuml;r Interessierte: die Cookie-Domain &amp;quot;www.blitzforum.de&amp;quot; war falsch. Das &amp;quot;www.&amp;quot; musste weg.</description>
			<pubDate>Mon, 15 Feb 2010 00:45:45 +0100</pubDate>
		</item>

		<item>
			<title>Kleine Verbesserungen im Showcase</title>
			<link>http://www.blitzforum.de/worklogs/1/#2125</link>
			<guid>http://www.blitzforum.de/worklogs/1/#2125</guid>
			<author>D2006</author>
			<description>Was schon ewig gest&amp;ouml;rt hat: Jedwede &amp;Auml;nderung eines Showcase-Eintrags f&amp;uuml;hrte bisher unweigerlich dazu, dass der Eintrag wieder ganz oben in der Liste der neusten Projekte erschien. Selbst wenn man nur einen Schreibfehler beseitigte, oder einen toten Download erneuerte. Jetzt muss man beim Speichern explizit ein H&amp;auml;kchen setzen, wenn man m&amp;ouml;chte, dass der Eintrag &amp;quot;gepusht&amp;quot; wird. Dies sollte nat&amp;uuml;rlich nur bei gr&amp;ouml;&amp;szlig;eren &amp;Auml;nderungen geschehen, zum Beispiel bei einer neuen Hauptversion mit neuen Featues.&lt;br /&gt;&lt;br /&gt;Bisher begegnete einem nach dem Editieren die Meldung, dass der Eintrag wieder gesperrt wurde, und man doch bitte etwas Geduld bis zur Freigabe haben sollte. Das war allein totaler Unfug, weil das Editieren nie zu einer Sperrung f&amp;uuml;hrte. Und da diese nie ausgenutzt wurde, habe ich die Meldung nun ausgebaut und stattdessen einen Link zum Eintrag hinplatziert.&lt;br /&gt;&lt;br /&gt;Weiterhin hab ich einige &amp;quot;Schlechter Deutsch&amp;quot;-Fehler bei der Genreansicht entfernt. W&amp;auml;hlte man &amp;quot;Sonstiges&amp;quot; aus, stand da tats&amp;auml;chlich &amp;quot;Die neusten / besten Sonstiges&amp;quot;... peinlich!</description>
			<pubDate>Sat, 06 Feb 2010 15:33:14 +0100</pubDate>
		</item>

		<item>
			<title>Update, die Zweite</title>
			<link>http://www.blitzforum.de/worklogs/1/#1604</link>
			<guid>http://www.blitzforum.de/worklogs/1/#1604</guid>
			<author>hamZta</author>
			<description>Hab' heute scheinbar einen fleissigen Tag &lt;img src=&quot;/forum/images/smiles/icon_wink.gif&quot; alt=&quot;Wink&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;BB-Codes Nr. 2&lt;/b&gt;&lt;br /&gt;Ich hab den Vorschlag von Xeres beherzigt, wenn man auf die BB-Code-Buttons klickt werden jetzt immer Start- und Endtag eingef&amp;uuml;gt, der Cursor steht in der Mitte. So kann man flott und fr&amp;ouml;hlich weitertippen &lt;img src=&quot;/forum/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; /&gt;&lt;br /&gt;Ich bin mir noch nicht 100% sicher ob alles so l&amp;auml;uft wie es soll, also bitte testet das neue Feature und schreit sofort wenn ihr Fehler entdeckt!&lt;br /&gt;&lt;b&gt;edit: &lt;/b&gt;Und der n&amp;auml;chste Vorschlag von Xeres umgesetzt: Neben URL gibts nun die Buttons BB und BM f&amp;uuml;r BB-/BM-Syntaxhighlighting.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Profilupdate&lt;/b&gt;&lt;br /&gt;Im Profil finden sich nun zus&amp;auml;tzlich die Anzahl der Worklogs inkl. Link dazu und die Anzahl und Namen der Teams in denen ein Benutzer ist.&lt;br /&gt;&lt;b&gt;edit: &lt;/b&gt; Und schon den ersten Fehler entdeckt: In Worklogs waren die &amp;Auml;nderungen der BB-Code-Buttons noch nicht drin. Fixed!&lt;br /&gt;&lt;br /&gt;mfg,&lt;br /&gt;hamZta</description>
			<pubDate>Wed, 15 Jul 2009 18:46:00 +0200</pubDate>
		</item>

		<item>
			<title>My home is my castle</title>
			<link>http://www.blitzforum.de/worklogs/1/#1603</link>
			<guid>http://www.blitzforum.de/worklogs/1/#1603</guid>
			<author>hamZta</author>
			<description>&lt;b&gt;Damn you, Scriptkiddie!&lt;/b&gt;&lt;br /&gt;Nachdem wir wieder mal Ziel einer Scriptkiddie-DoS-Attacke waren blockiert unser Server derartige Angriffe nun (hoffentlich &lt;img src=&quot;/forum/images/smiles/icon_wink.gif&quot; alt=&quot;Wink&quot; /&gt;) automatisch. Das ganze braucht bestimmt noch ein wenig Feineinstellung aber ich denke es wird sehr hilfreich sein. M&amp;ouml;gen sich die zornigen Kinder die Z&amp;auml;hne ausbeissen!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Achtung:&lt;/b&gt; Sollte jemand von dem System pl&amp;ouml;tzlich unschuldigerweise ausgesperrt werden, schreibt bitte eine Mail an &lt;a href=&quot;mailto:webmaster@blitzforum.de&quot;&gt;webmaster@blitzforum.de&lt;/a&gt;, wir k&amp;uuml;mmern uns dann darum.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;BB-Codes, formiert euch!&lt;/b&gt;&lt;br /&gt;Was mich schon l&amp;auml;nger nervte hab ich jetzt endlich ausgebessert: BB-Codes werden jetzt, wenn man die Buttons daf&amp;uuml;r benutzt nicht mehr ans Ende des Textes eingef&amp;uuml;gt sondern an die Position des Cursors. Sollte das bei jemandem Probleme wg. JavaScript geben so m&amp;ouml;ge sich derjenige bitte melden.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Direktlinks in Worklogs&lt;/b&gt;&lt;br /&gt;Werden die meisten vermutlich schon wissen: Bei Worklogeintr&amp;auml;gen gibts nun neben dem Datum ein kleines Icon mit einem Link zu dem entsprechenden Beitrag, &amp;auml;hnlich Forenbeitr&amp;auml;gen. Damit kann man nur sch&amp;ouml;n direkt auf bestimmte Eintr&amp;auml;ge verweisen. Danke an Kernle f&amp;uuml;r den Hinweis &lt;img src=&quot;/forum/images/smiles/icon_wink.gif&quot; alt=&quot;Wink&quot; /&gt;&lt;br /&gt;&lt;br /&gt;Das war's soweit, sch&amp;ouml;nen Tag w&amp;uuml;nscht&lt;br /&gt;hamZta</description>
			<pubDate>Wed, 15 Jul 2009 12:34:25 +0200</pubDate>
		</item>

		<item>
			<title>Syntax Highlighting</title>
			<link>http://www.blitzforum.de/worklogs/1/#1349</link>
			<guid>http://www.blitzforum.de/worklogs/1/#1349</guid>
			<author>YellowRider</author>
			<description>Wie schon im &lt;a href=&quot;http://www.blitzforum.de/forum/viewtopic.php?t=31504&quot; target=&quot;_blank&quot;&gt;Thread&lt;/a&gt; geschrieben, besitzt das Portal nun eine Funktion zum Highlighten von BlitzBasic und BlitzMax Code. Bei BlitzBasic Quelltexten werden alle Keywords hervorgehoben, die auch in der Hilfe vorhanden sind. Bei BlitzMax Quelltexten werden ebenfalls alle Befehle hervorgehoben, allerdings nur die verlinkt, die es auch in BlitzBasic gibt.&lt;br /&gt;&lt;br /&gt;Das Syntax Highlighting wird verwendet, indem man den Quelltext mit&lt;br /&gt;&lt;b&gt;Code: &lt;/b&gt;&lt;span style=&quot;font-size:0.8em; display:inline;&quot; id=&quot;showcodebox0&quot;&gt; &lt;a href=&quot;javascript&amp;#058;show_code('0')&quot;&gt;[AUSKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;span style=&quot;font-size:0.8em; display:none;&quot; id=&quot;hidecodebox0&quot;&gt; &lt;a href=&quot;javascript&amp;#058;hide_code('0')&quot;&gt;[EINKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;div id=&quot;codebox0&quot; class=&quot;codebox&quot; style=&quot;max-height: 200px;&quot; onload=&quot;check_code('0');&quot;&gt;&amp;#91;syntax=&amp;quot;bb&amp;quot;&amp;#93; ... &amp;#91;/syntax&amp;#93;&lt;/div&gt;&lt;br /&gt;bzw. mit&lt;br /&gt;&lt;b&gt;Code: &lt;/b&gt;&lt;span style=&quot;font-size:0.8em; display:inline;&quot; id=&quot;showcodebox1&quot;&gt; &lt;a href=&quot;javascript&amp;#058;show_code('1')&quot;&gt;[AUSKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;span style=&quot;font-size:0.8em; display:none;&quot; id=&quot;hidecodebox1&quot;&gt; &lt;a href=&quot;javascript&amp;#058;hide_code('1')&quot;&gt;[EINKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;div id=&quot;codebox1&quot; class=&quot;codebox&quot; style=&quot;max-height: 200px;&quot; onload=&quot;check_code('1');&quot;&gt;&amp;#91;syntax=&amp;quot;bmax&amp;quot;&amp;#93; ... &amp;#91;/syntax&amp;#93;&lt;/div&gt;&lt;br /&gt;umschlie&amp;szlig;t.&lt;br /&gt;&lt;br /&gt;Zus&amp;auml;tzlich werden nun Tabs auch als Tabs dargestellt und beim Kopieren in einen Editor bleiben sie auch vorhanden. Falls ihr Probleme mit dem Einf&amp;uuml;gen in eine BlitzBasic-IDE habt, benutzt bitte &amp;quot;Paste&amp;quot; im Edit-Men&amp;uuml;.&lt;br /&gt;&lt;br /&gt;Ein Beispiel, wie das Ganze dann aussieht:&lt;br /&gt;[syntax=&amp;quot;bmax&amp;quot;]'This BMX file was edited with BLIde ( &lt;a href=&quot;http://www.blide.org&quot; target=&quot;_blank&quot;&gt;http://www.blide.org&lt;/a&gt; )&lt;br /&gt;SuperStrict&lt;br /&gt;Import bah.libxml&lt;br /&gt;&lt;br /&gt;Local cg:TCodeGenerator = New TCodeGenerator&lt;br /&gt;Local file:String = Input(&amp;quot;File to parse: &amp;quot;)&lt;br /&gt;cg.start(file)&lt;br /&gt;Print &amp;quot;&amp;lt;Program shuts down in 3 sec&amp;gt;&amp;quot;&lt;br /&gt;Delay 3000&lt;br /&gt;End&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Type TCodeGenerator&lt;br /&gt;	Field out:TStream&lt;br /&gt;	Field default_out:String&lt;br /&gt;	Field types:TMap&lt;br /&gt;	&lt;br /&gt;	Method New()&lt;br /&gt;		types = CreateMap() &lt;br /&gt;		default_out = &amp;quot;Default.bmx&amp;quot;&lt;br /&gt;	End Method&lt;br /&gt;&lt;br /&gt;	Method start(filename:String)&lt;br /&gt;		Print &amp;quot;Start processing file: &amp;quot; + filename&lt;br /&gt;		Local doc:TxmlDoc = TxmlDoc.parseFile(filename)&lt;br /&gt;		If doc = Null Print &amp;quot;Could not parse document&amp;quot;;Return&lt;br /&gt;		Local node:TxmlNode = doc.getRootElement()&lt;br /&gt;		If node = Null Print &amp;quot;Could not get a root element&amp;quot;; Return&lt;br /&gt;		out = WriteFile(node.getAttribute(&amp;quot;out&amp;quot;))&lt;br /&gt; 		If out = Null out = WriteFile(default_out)&lt;br /&gt;		Parse(node)&lt;br /&gt;		doc.free()&lt;br /&gt;		write()&lt;br /&gt;		CloseFile(out)&lt;br /&gt;		Print &amp;quot;Successfully finished&amp;quot;&lt;br /&gt;	End Method&lt;br /&gt;	&lt;br /&gt;	Method parse(node:TxmlNode)&lt;br /&gt;		If node.getName() &amp;lt;&amp;gt; &amp;quot;CodeGenerator&amp;quot; Return&lt;br /&gt;		&lt;br /&gt;		Local children:TList = node.getChildren()&lt;br /&gt;		If children = Null Return&lt;br /&gt;		For Local c:TxmlNode = EachIn children&lt;br /&gt;			Select c.getName()&lt;br /&gt;				Case &amp;quot;Type&amp;quot; parseType(c)&lt;br /&gt;				Case &amp;quot;Connect&amp;quot; parseConnection(c)&lt;br /&gt;			End Select&lt;br /&gt;		Next&lt;br /&gt;	End Method&lt;br /&gt;	&lt;br /&gt;	Method write()&lt;br /&gt;		For Local t:DType = EachIn MapValues(Self.types)&lt;br /&gt;			t.write(out)&lt;br /&gt;		Next&lt;br /&gt;	End Method&lt;br /&gt;	&lt;br /&gt;	Method parseType:DType(node:TxmlNode)&lt;br /&gt;		Local t:DType&lt;br /&gt;		If node.getName() &amp;lt;&amp;gt; &amp;quot;Type&amp;quot; Return Null&lt;br /&gt;&lt;br /&gt;		Local id:String = node.getAttribute(&amp;quot;id&amp;quot;)&lt;br /&gt;		Local bbdoc:Byte = Byte(node.getAttribute(&amp;quot;bbdoc&amp;quot;))&lt;br /&gt;		t = DType.Create(id)&lt;br /&gt;		t.bbdoc = bbdoc&lt;br /&gt;		addType(t)&lt;br /&gt;&lt;br /&gt;		Local children:TList = node.getChildren()&lt;br /&gt;		If children = Null Return t&lt;br /&gt;		For Local c:TxmlNode = EachIn children&lt;br /&gt;			Select c.getName()&lt;br /&gt;				Case &amp;quot;Field&amp;quot;&lt;br /&gt;					parseField(c, t)&lt;br /&gt;			End Select&lt;br /&gt;		Next&lt;br /&gt;		Return t&lt;br /&gt;	End Method&lt;br /&gt;	&lt;br /&gt;	Method addType(t:DType)&lt;br /&gt;		MapInsert(types, t.id, t)&lt;br /&gt;	End Method&lt;br /&gt;	&lt;br /&gt;	Method getType:DType(id:String)&lt;br /&gt;		Return DType(MapValueForKey(types, id))&lt;br /&gt;	End Method&lt;br /&gt;	&lt;br /&gt;	Method parseField(node:TxmlNode, t:DType)&lt;br /&gt;		Local f:DField&lt;br /&gt;		If node.getName() &amp;lt;&amp;gt; &amp;quot;Field&amp;quot; Return&lt;br /&gt;		&lt;br /&gt;		Local id:String = node.getAttribute(&amp;quot;id&amp;quot;)&lt;br /&gt;		Local datatype:String = node.getAttribute(&amp;quot;datatype&amp;quot;)&lt;br /&gt;		Local val:String = node.getAttribute(&amp;quot;value&amp;quot;)&lt;br /&gt;		Local set:Byte = Byte(node.getAttribute(&amp;quot;setter&amp;quot;))&lt;br /&gt;		Local get:Byte = Byte(node.getAttribute(&amp;quot;getter&amp;quot;))&lt;br /&gt;		&lt;br /&gt;		f = DField.Create(id, datatype, val)&lt;br /&gt;		t.addVar(f)&lt;br /&gt;		&lt;br /&gt;		If set&lt;br /&gt;			Local setter:DMethod = New DMethod&lt;br /&gt;			setter.setId(&amp;quot;set&amp;quot; + Upper(Left(id, 1)) + Mid(id, 2))&lt;br /&gt;			setter.setBBdocText(&amp;quot;setter for &amp;quot; + f.id + &amp;quot;:&amp;quot; + f.datatype)&lt;br /&gt;			setter.addInput(&amp;quot;val:&amp;quot; + f.datatype)&lt;br /&gt;			setter.addContent(&amp;quot;Self.&amp;quot; + f.id + &amp;quot; = &amp;quot; + &amp;quot;val&amp;quot;)&lt;br /&gt;			t.addMethod(setter)&lt;br /&gt;		End If&lt;br /&gt;		&lt;br /&gt;		If get&lt;br /&gt;			Local getter:DMethod = New DMethod&lt;br /&gt;			getter.setId(&amp;quot;get&amp;quot; + Upper(Left(id, 1)) + Mid(id, 2))&lt;br /&gt;			getter.setBBdocText(&amp;quot;getter for &amp;quot; + f.id + &amp;quot;:&amp;quot; + f.datatype)&lt;br /&gt;			getter.setOutput(f.datatype)&lt;br /&gt;			getter.addContent(&amp;quot;Return &amp;quot; + f.id)&lt;br /&gt;			t.addMethod(getter)&lt;br /&gt;		EndIf&lt;br /&gt;		&lt;br /&gt;		Local children:TList = node.getChildren()&lt;br /&gt;		If children = Null Return&lt;br /&gt;		For Local c:TxmlNode = EachIn children&lt;br /&gt;			Select c.getName()&lt;br /&gt;			End Select&lt;br /&gt;		Next&lt;br /&gt;	End Method&lt;br /&gt;	&lt;br /&gt;	Method parseConnection(node:TxmlNode)&lt;br /&gt;		If node.getName() &amp;lt;&amp;gt; &amp;quot;Connect&amp;quot; Return&lt;br /&gt;		&lt;br /&gt;		Local type1:DType = Self.getType(&amp;quot;T&amp;quot; + node.getAttribute(&amp;quot;type1&amp;quot;))&lt;br /&gt;		Local type2:DType = Self.getType(&amp;quot;T&amp;quot; + node.getAttribute(&amp;quot;type2&amp;quot;))&lt;br /&gt;		&lt;br /&gt;		Local t1Name:String = node.getAttribute(&amp;quot;link1Id&amp;quot;)&lt;br /&gt;		Local t2Name:String = node.getAttribute(&amp;quot;link2Id&amp;quot;)&lt;br /&gt;		&lt;br /&gt;		If t1Name = &amp;quot;&amp;quot; t1Name:String = Mid(type1.id, 2)&lt;br /&gt;		If t2Name = &amp;quot;&amp;quot; t2Name:String = Mid(type2.id, 2)&lt;br /&gt;		&lt;br /&gt;		Local linkType:String = node.getAttribute(&amp;quot;linkType&amp;quot;)&lt;br /&gt;		&lt;br /&gt;		&lt;br /&gt;		&lt;br /&gt;		If linkType = &amp;quot;bi121&amp;quot;&lt;br /&gt;			bidirectionalOneToOne(type1:DType, type2:DType, t1Name:String, t2Name:String)&lt;br /&gt;		ElseIf linkType = &amp;quot;mono121&amp;quot;&lt;br /&gt;			monoDirectionalOneToOne(type1:DType, type2:DType, t1Name:String, t2Name:String)&lt;br /&gt;		ElseIf linkType = &amp;quot;monoM21&amp;quot;&lt;br /&gt;			monoDirectionalManyToOne(type1:DType, type2:DType, t1Name:String, t2Name:String)&lt;br /&gt;		EndIf&lt;br /&gt;		&lt;br /&gt;		&lt;br /&gt;		Local children:TList = node.getChildren()&lt;br /&gt;		If children = Null Return&lt;br /&gt;		For Local c:TxmlNode = EachIn children&lt;br /&gt;		Next&lt;br /&gt;	End Method&lt;br /&gt;	&lt;br /&gt;	Method bidirectionalOneToOne(type1:DType, type2:DType, t1Name:String, t2Name:String)&lt;br /&gt;			Local linkVarName:String = Lower(t2Name) + &amp;quot;Link&amp;quot;&lt;br /&gt;			Local m1Linker:DMethod = New DMethod&lt;br /&gt;			Local m1LinkRemover:DMethod = New DMethod&lt;br /&gt;			&lt;br /&gt;			If t1Name = &amp;quot;&amp;quot; t1Name:String = Mid(type1.id, 2)&lt;br /&gt;			If t2Name = &amp;quot;&amp;quot; t2Name:String = Mid(type2.id, 2)&lt;br /&gt;			&lt;br /&gt;			type1.addLinkVar(DField.Create(linkVarName, type2.id))&lt;br /&gt;			m1Linker.setId(&amp;quot;set&amp;quot; + t2Name)&lt;br /&gt;			m1Linker.addInput(&amp;quot;obj:&amp;quot; + type2.id)&lt;br /&gt;			m1Linker.addInput(&amp;quot;call:byte = true&amp;quot;)&lt;br /&gt;			m1Linker.addContent(&amp;quot;if call obj.set&amp;quot; + t1Name + &amp;quot;(Self,false)&amp;quot;)&lt;br /&gt;			m1Linker.addContent(linkVarName + &amp;quot; = obj&amp;quot;)&lt;br /&gt;			type1.addMethod(m1Linker)&lt;br /&gt;			&lt;br /&gt;			m1LinkRemover.setId(&amp;quot;remove&amp;quot; + t2Name)&lt;br /&gt;			m1LinkRemover.addContent(&amp;quot;if &amp;quot; + linkVarName + &amp;quot; = Null Return&amp;quot;)&lt;br /&gt;			m1LinkRemover.addContent(&amp;quot;local val:&amp;quot; + type2.id + &amp;quot; = &amp;quot; + linkVarName)&lt;br /&gt;			m1LinkRemover.addContent(linkVarName + &amp;quot; = Null&amp;quot;)&lt;br /&gt;			m1LinkRemover.addContent(&amp;quot;val.remove&amp;quot; + t1Name + &amp;quot;()&amp;quot;)&lt;br /&gt;			type1.addMethod(m1LinkRemover)&lt;br /&gt;			type1.destructor.addContent(m1LinkRemover.id + &amp;quot;()&amp;quot;)&lt;br /&gt;	&lt;br /&gt;			linkVarName:String = Lower(t1Name) + &amp;quot;Link&amp;quot;&lt;br /&gt;			Local m2Linker:DMethod = New DMethod&lt;br /&gt;			Local m2LinkRemover:DMethod = New DMethod&lt;br /&gt;			&lt;br /&gt;			type2.addLinkVar(DField.Create(linkVarName, type1.id))&lt;br /&gt;			m2Linker.setId(&amp;quot;set&amp;quot; + t1Name)&lt;br /&gt;			m2Linker.addInput(&amp;quot;obj:&amp;quot; + type1.id)&lt;br /&gt;			m2Linker.addInput(&amp;quot;call:byte = true&amp;quot;)&lt;br /&gt;			m2Linker.addContent(&amp;quot;if call obj.set&amp;quot; + t2Name + &amp;quot;(Self,false)&amp;quot;)&lt;br /&gt;			m2Linker.addContent(linkVarName + &amp;quot; = obj&amp;quot;)&lt;br /&gt;			type2.addMethod(m2Linker)&lt;br /&gt;			&lt;br /&gt;			m2LinkRemover.setId(&amp;quot;remove&amp;quot; + t1Name)&lt;br /&gt;			m2LinkRemover.addContent(&amp;quot;if &amp;quot; + linkVarName + &amp;quot; = Null Return&amp;quot;)&lt;br /&gt;			m2LinkRemover.addContent(&amp;quot;local val:&amp;quot; + type1.id + &amp;quot; = &amp;quot; + linkVarName)&lt;br /&gt;			m2LinkRemover.addContent(linkVarName + &amp;quot; = Null&amp;quot;)&lt;br /&gt;			m2LinkRemover.addContent(&amp;quot;val.remove&amp;quot; + t2Name + &amp;quot;()&amp;quot;)&lt;br /&gt;			type2.addMethod(m2LinkRemover)&lt;br /&gt;			type2.destructor.addContent(m2LinkRemover.id + &amp;quot;()&amp;quot;)&lt;br /&gt;	End Method&lt;br /&gt;	&lt;br /&gt;	Method monoDirectionalOneToOne(type1:DType, type2:DType, t1Name:String, t2Name:String)&lt;br /&gt;			Local linkVarName:String = Lower(t2Name) + &amp;quot;Link&amp;quot;&lt;br /&gt;			Local m1Linker:DMethod = New DMethod&lt;br /&gt;			Local m1LinkRemover:DMethod = New DMethod&lt;br /&gt;			&lt;br /&gt;			t1Name = Upper(Left(t1Name, 1)) + Mid(t1Name, 2)&lt;br /&gt;			t2Name = Upper(Left(t2Name, 1)) + Mid(t2Name, 2)&lt;br /&gt;			&lt;br /&gt;			type1.addLinkVar(DField.Create(linkVarName, type2.id))&lt;br /&gt;			m1Linker.setId(&amp;quot;set&amp;quot; + t2Name)&lt;br /&gt;			m1Linker.addInput(&amp;quot;obj:&amp;quot; + type2.id)&lt;br /&gt;			m1Linker.addContent(linkVarName + &amp;quot; = obj&amp;quot;)&lt;br /&gt;			type1.addMethod(m1Linker)&lt;br /&gt;			&lt;br /&gt;			m1LinkRemover.setId(&amp;quot;remove&amp;quot; + t2Name)&lt;br /&gt;			m1LinkRemover.addContent(&amp;quot;if &amp;quot; + linkVarName + &amp;quot; = Null Return&amp;quot;)&lt;br /&gt;			m1LinkRemover.addContent(linkVarName + &amp;quot; = Null&amp;quot;)&lt;br /&gt;			type1.addMethod(m1LinkRemover)&lt;br /&gt;			type1.destructor.addContent(m1LinkRemover.id + &amp;quot;()&amp;quot;)&lt;br /&gt;	End Method&lt;br /&gt;	&lt;br /&gt;	Method monoDirectionalManyToOne(type1:DType, type2:DType, t1Name:String, t2Name:String)&lt;br /&gt;			Local linkVarName:String = Lower(t2Name) + &amp;quot;Link&amp;quot;&lt;br /&gt;			Local collectionName:String = Lower(t1Name) + &amp;quot;List&amp;quot;&lt;br /&gt;			Local m1Linker:DMethod = New DMethod&lt;br /&gt;			Local m1LinkRemover:DMethod = New DMethod&lt;br /&gt;			&lt;br /&gt;			t2Name = Upper(Left(t2Name, 1)) + Mid(t2Name, 2)&lt;br /&gt;			t1Name = Upper(Left(t1Name, 1)) + Mid(t1Name, 2)&lt;br /&gt;			&lt;br /&gt;			type1.addLinkVar(DField.Create(linkVarName, type2.id))&lt;br /&gt;			type1.addLinkVar(DField.Create(&amp;quot;_&amp;quot; + linkVarName, &amp;quot;TLink&amp;quot;))&lt;br /&gt;			m1Linker.setId(&amp;quot;set&amp;quot; + t2Name)&lt;br /&gt;			m1Linker.addInput(&amp;quot;obj:&amp;quot; + type2.id)&lt;br /&gt;			m1Linker.addInput(&amp;quot;call:byte = True&amp;quot;)&lt;br /&gt;			m1Linker.addContent(&amp;quot;If &amp;quot; + linkVarName + &amp;quot; &amp;lt;&amp;gt; Null self.remove&amp;quot; + t2Name + &amp;quot;()&amp;quot;)&lt;br /&gt;			m1Linker.addContent(linkVarName + &amp;quot; = obj&amp;quot;)&lt;br /&gt;			m1Linker.addContent(&amp;quot;if call _&amp;quot; + linkVarName + &amp;quot; = obj.add&amp;quot; + t1Name + &amp;quot;(self,false)&amp;quot;)&lt;br /&gt;			type1.addMethod(m1Linker)&lt;br /&gt;			&lt;br /&gt;			m1LinkRemover.setId(&amp;quot;remove&amp;quot; + t2Name)&lt;br /&gt;			m1LinkRemover.addContent(&amp;quot;if &amp;quot; + linkVarName + &amp;quot; = Null Return&amp;quot;)&lt;br /&gt;			m1LinkRemover.addContent(linkVarName + &amp;quot; = Null&amp;quot;)&lt;br /&gt;			m1LinkRemover.addContent(&amp;quot;removeLink(_&amp;quot; + linkVarName + &amp;quot;)&amp;quot;)&lt;br /&gt;			type1.addMethod(m1LinkRemover)&lt;br /&gt;			type1.destructor.addContent(m1LinkRemover.id + &amp;quot;()&amp;quot;)&lt;br /&gt;			&lt;br /&gt;			&lt;br /&gt;			type2.addLinkVar(DField.Create(collectionName, &amp;quot;TList&amp;quot;, &amp;quot;New TList&amp;quot;))&lt;br /&gt;			Local m2Linker:DMethod = New DMethod&lt;br /&gt;			m2Linker.setId(&amp;quot;add&amp;quot; + t1Name)&lt;br /&gt;			m2Linker.addInput(&amp;quot;obj:&amp;quot; + type1.id)&lt;br /&gt;			m2Linker.addInput(&amp;quot;call:byte = true&amp;quot;)&lt;br /&gt;			m2Linker.addContent(&amp;quot;if call obj.set&amp;quot; + t2Name + &amp;quot;(self,false)&amp;quot;)&lt;br /&gt;			m2Linker.addContent(&amp;quot;return &amp;quot; + collectionName + &amp;quot;.addLast(obj)&amp;quot;)&lt;br /&gt;			m2Linker.setOutput(&amp;quot;TLink&amp;quot;)&lt;br /&gt;			type2.addMethod(m2Linker)&lt;br /&gt;			&lt;br /&gt;			Local m2Remover:DMethod = New DMethod&lt;br /&gt;			m2Remover.setId(&amp;quot;removeAll&amp;quot; + t1Name + &amp;quot;Links&amp;quot;)&lt;br /&gt;			m2Remover.addContent(&amp;quot;For local obj:&amp;quot; + type1.id + &amp;quot; = eachin Self.&amp;quot; + collectionName)&lt;br /&gt;			m2Remover.addContent(Chr(9) + &amp;quot;obj.remove&amp;quot; + t2Name + &amp;quot;()&amp;quot;)&lt;br /&gt;			m2Remover.addContent(&amp;quot;Next&amp;quot;)&lt;br /&gt;			type2.addMethod(m2Remover)&lt;br /&gt;			type2.destructor.addContent(m2Remover.id + &amp;quot;()&amp;quot;)&lt;br /&gt;	End Method&lt;br /&gt;End Type&lt;br /&gt;&lt;br /&gt;Type DType&lt;br /&gt;	Field bbdoc:Byte&lt;br /&gt;	Field id:String&lt;br /&gt;	Field vars:TList&lt;br /&gt;	Field linkVars:TList&lt;br /&gt;	Field methods:TList&lt;br /&gt;	Field destructor:DMethod&lt;br /&gt;	&lt;br /&gt;	Method New()&lt;br /&gt;		vars = New TList&lt;br /&gt;		linkVars = New TList&lt;br /&gt;		methods = New TList&lt;br /&gt;		destructor = New DMethod&lt;br /&gt;	End Method&lt;br /&gt;&lt;br /&gt;	Function Create:DType(id:String)&lt;br /&gt;		Local t:DType = New DType&lt;br /&gt;		t.id = &amp;quot;T&amp;quot; + id&lt;br /&gt;		t.destructor.setId(&amp;quot;remove&amp;quot;)&lt;br /&gt;		Return t&lt;br /&gt;	End Function&lt;br /&gt;	&lt;br /&gt;	Method write(stream:TStream)&lt;br /&gt;		WriteLine stream, &amp;quot;&amp;quot;&lt;br /&gt;		If bbdoc&lt;br /&gt;			WriteLine stream, &amp;quot;Rem&amp;quot;&lt;br /&gt;			WriteLine stream, Chr(9) + &amp;quot;bbdoc: &amp;quot; + Self.id&lt;br /&gt;			WriteLine stream, Chr(9) + &amp;quot;about&amp;#058;&amp;quot;&lt;br /&gt;			WriteLine stream, &amp;quot;End Rem&amp;quot;&lt;br /&gt;		End If&lt;br /&gt;		WriteLine stream, &amp;quot;Type &amp;quot; + id&lt;br /&gt;		If Not vars.IsEmpty()&lt;br /&gt;			WriteLine stream, &amp;quot;&amp;quot;&lt;br /&gt;			For Local v:DField = EachIn vars&lt;br /&gt;				v.write(stream)&lt;br /&gt;			Next&lt;br /&gt;		EndIf&lt;br /&gt;		&lt;br /&gt;		If Not linkVars.IsEmpty()&lt;br /&gt;			WriteLine stream, &amp;quot;&amp;quot;&lt;br /&gt;			For Local v:DField = EachIn linkVars&lt;br /&gt;				v.write(stream)&lt;br /&gt;			Next&lt;br /&gt;		EndIf&lt;br /&gt;		&lt;br /&gt;		If Not methods.IsEmpty()&lt;br /&gt;			WriteLine(stream, &amp;quot;&amp;quot;)&lt;br /&gt;			For Local m:DMethod = EachIn methods&lt;br /&gt;				m.write(stream)&lt;br /&gt;				WriteLine(stream, &amp;quot;&amp;quot;)&lt;br /&gt;			Next&lt;br /&gt;		EndIf&lt;br /&gt;		WriteLine(stream, &amp;quot;&amp;quot;)&lt;br /&gt;		Self.destructor.write(stream)&lt;br /&gt;		WriteLine stream, &amp;quot;End Type&amp;quot;&lt;br /&gt;		WriteLine stream, &amp;quot;&amp;quot;&lt;br /&gt;	End Method&lt;br /&gt;	&lt;br /&gt;	Method addVar(v:DField)&lt;br /&gt;		vars.AddLast(v)&lt;br /&gt;	End Method&lt;br /&gt;	&lt;br /&gt;	Method addLinkVar(v:DField)&lt;br /&gt;		linkVars.AddLast(v)&lt;br /&gt;	End Method&lt;br /&gt;	&lt;br /&gt;	Method addMethod(m:DMethod)&lt;br /&gt;		methods.AddLast(m)&lt;br /&gt;	End Method&lt;br /&gt;End Type&lt;br /&gt;&lt;br /&gt;Type DField&lt;br /&gt;	Field id:String&lt;br /&gt;	Field datatype:String&lt;br /&gt;	Field val:String&lt;br /&gt;	&lt;br /&gt;	Function Create:DField(id:String, datatype:String, val:String = &amp;quot;&amp;quot;)&lt;br /&gt;		Local v:DField = New DField&lt;br /&gt;		Select datatype&lt;br /&gt;			Case &amp;quot;&amp;quot; datatype = &amp;quot;Int&amp;quot;&lt;br /&gt;			Case &amp;quot;%&amp;quot; datatype = &amp;quot;Int&amp;quot;&lt;br /&gt;			Case &amp;quot;#&amp;quot; datatype = &amp;quot;Float&amp;quot;&lt;br /&gt;		End Select&lt;br /&gt;		v.id = id&lt;br /&gt;		v.datatype = datatype&lt;br /&gt;		v.val = val&lt;br /&gt;		Return v&lt;br /&gt;	End Function&lt;br /&gt;	&lt;br /&gt;	Method write(stream:TStream)&lt;br /&gt;		Local l:String = Chr(9) + &amp;quot;Field &amp;quot; + id + &amp;quot;:&amp;quot; + datatype&lt;br /&gt;		If val &amp;lt;&amp;gt; &amp;quot;&amp;quot;&lt;br /&gt;			If Lower(datatype) = &amp;quot;string&amp;quot;&lt;br /&gt;				l:+&amp;quot; = &amp;quot; + Chr(34)+val+Chr(34)&lt;br /&gt;			Else&lt;br /&gt;				l:+&amp;quot; = &amp;quot; + val&lt;br /&gt;			EndIf&lt;br /&gt;		EndIf&lt;br /&gt;		WriteLine stream, l&lt;br /&gt;	End Method&lt;br /&gt;End Type&lt;br /&gt;&lt;br /&gt;Type DMethod&lt;br /&gt;	Field bbdoc:Byte&lt;br /&gt;	Field bbdocText:String&lt;br /&gt;	Field id:String&lt;br /&gt;	Field inputs:TList&lt;br /&gt;	Field output:String&lt;br /&gt;	Field content:TList&lt;br /&gt;&lt;br /&gt;	&lt;br /&gt;	Method New()&lt;br /&gt;		inputs = New TList&lt;br /&gt;		output = &amp;quot;&amp;quot;&lt;br /&gt;		content = New TList&lt;br /&gt;	End Method&lt;br /&gt;	&lt;br /&gt;	Method setId(id:String)&lt;br /&gt;		Self.id = id&lt;br /&gt;	End Method&lt;br /&gt;	&lt;br /&gt;	Method addContent(line:String)&lt;br /&gt;		content.AddLast(line)&lt;br /&gt;	End Method&lt;br /&gt;	&lt;br /&gt;	Method addInput(line:String)&lt;br /&gt;		inputs.AddLast(line)&lt;br /&gt;	End Method&lt;br /&gt;	&lt;br /&gt;	Method setOutput(line:String)&lt;br /&gt;		output = line&lt;br /&gt;	End Method&lt;br /&gt;	&lt;br /&gt;	Method setBBdocText(txt:String)&lt;br /&gt;		Self.bbdocText = txt&lt;br /&gt;		Self.bbdoc = True&lt;br /&gt;		If bbdocText = &amp;quot;&amp;quot; bbdocText = Self.id&lt;br /&gt;	End Method&lt;br /&gt;	&lt;br /&gt;	Method write(stream:TStream)&lt;br /&gt;		If bbdoc&lt;br /&gt;			WriteLine stream, Chr(9) + &amp;quot;Rem&amp;quot;&lt;br /&gt;			WriteLine stream, Chr(9) + Chr(9) + &amp;quot;bbdoc: &amp;quot; + bbdocText&lt;br /&gt;			For Local l:String = EachIn inputs&lt;br /&gt;				WriteLine stream, Chr(9) + Chr(9) + &amp;quot;var: &amp;quot; + l&lt;br /&gt;			Next&lt;br /&gt;			WriteLine stream, Chr(9) + &amp;quot;End Rem&amp;quot;&lt;br /&gt;		End If&lt;br /&gt;		Local l:String&lt;br /&gt;		l = Chr(9) + &amp;quot;Method &amp;quot; + id&lt;br /&gt;		If output &amp;lt;&amp;gt; &amp;quot;&amp;quot; l:+&amp;quot;:&amp;quot; + output&lt;br /&gt;		l:+&amp;quot;(&amp;quot;&lt;br /&gt;		While inputs.Count() &amp;gt; 0&lt;br /&gt;			Local v:String = String(inputs.RemoveFirst())&lt;br /&gt;			If inputs.IsEmpty()&lt;br /&gt;				l:+v&lt;br /&gt;			Else&lt;br /&gt;				l:+v + &amp;quot; , &amp;quot;&lt;br /&gt;			EndIf&lt;br /&gt;		Wend&lt;br /&gt;		l:+&amp;quot;)&amp;quot;&lt;br /&gt;		WriteLine stream, l&lt;br /&gt;		For l = EachIn content&lt;br /&gt;			WriteLine stream, Chr(9) + Chr(9) + l&lt;br /&gt;		Next&lt;br /&gt;		WriteLine stream, Chr(9) + &amp;quot;End Method&amp;quot;&lt;br /&gt;	End Method&lt;br /&gt;End Type[/syntax]&lt;br /&gt;(Code von Firstdeathmaker, siehe &lt;a href=&quot;http://www.blitzforum.de/forum/viewtopic.php?t=31031&quot; target=&quot;_blank&quot;&gt;http://www.blitzforum.de/forum...hp?t=31031&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Danke&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Edit:&lt;/b&gt; Bei BlitzMax Codes werden die Keywords nun nichtmehr verlinkt. Es gibt einfach zu viele Unterschiede bei den Funktionen.</description>
			<pubDate>Mon, 20 Apr 2009 14:24:20 +0200</pubDate>
		</item>

		<item>
			<title>Neues Feature: BBP-Live</title>
			<link>http://www.blitzforum.de/worklogs/1/#1109</link>
			<guid>http://www.blitzforum.de/worklogs/1/#1109</guid>
			<author>D2006</author>
			<description>Soeben ist ein neues Feature fertig geworden, womit ich den neu angelegten Worklog (der extra nachtr&amp;auml;glich die ID 1 zugewiesen bekommen hat &lt;img src=&quot;/forum/images/smiles/icon_wink.gif&quot; alt=&quot;Wink&quot; /&gt; ) gleich ordentlich einweihen will.&lt;br /&gt;&lt;br /&gt;BBP-Live: &lt;a href=&quot;http://www.blitzforum.de/live/&quot; target=&quot;_blank&quot;&gt;http://www.blitzforum.de/live/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Diese Seite zeigt alle ungelesenen Beitr&amp;auml;gen an. Und wirklich nur die ungelesenen. Zus&amp;auml;tzlich aktualisiert sie sich jede Minute selbst. Wenn man also l&amp;auml;ngere Zeit online ist, schon alle neuen Beitr&amp;auml;ge abgeklappert hat, ist diese Seite eine ideale Anlaufstelle. Man schaut nun bei Interesse immer mal schnell auf die Seite und sieht sofort, ob es neue Beitr&amp;auml;ge gibt. Zus&amp;auml;tzlich f&amp;uuml;hrt ein Klick auf den Link zum wirklich ersten ungelesenen Beitrag!&lt;br /&gt;&lt;br /&gt;Der Link zur Live-Seite ist ab sofort in der Sidebar des Forums.&lt;br /&gt;&lt;br /&gt;Vielen Dank f&amp;uuml;r die Aufmerksamkeit,&lt;br /&gt;D2006&lt;br /&gt;&lt;br /&gt;UPDATE (11.02.):&lt;br /&gt;Hab die gute Idee von Xeres umgesetzt. Wenn neue Beitr&amp;auml;ge vorhanden sind, steht im Seitentitel nun &amp;quot;Neue Beitr&amp;auml;ge!&amp;quot; statt &amp;quot;BBP Live&amp;quot;. So sieht man noch schneller, ob es was neues im Forum gibt. Danke f&amp;uuml;r die Idee!</description>
			<pubDate>Mon, 09 Feb 2009 21:40:52 +0100</pubDate>
		</item>

		<item>
			<title>Erster Eintrag</title>
			<link>http://www.blitzforum.de/worklogs/1/#1108</link>
			<guid>http://www.blitzforum.de/worklogs/1/#1108</guid>
			<author>D2006</author>
			<description>Hallo liebe Community,&lt;br /&gt;&lt;br /&gt;als die Worklogs vor &amp;uuml;ber einem Jahr geboren worden, dachten wir schon gleich daran, auch mal einen &amp;quot;offiziellen&amp;quot; BBP-Worklog zu machen, in dem wir &amp;uuml;ber aktuelle Entwicklungen im Portal berichten (Im Sinne von der Technik/dem Code dahinter; nicht im Sinne eines Boulevard-Magazins &lt;img src=&quot;/forum/images/smiles/icon_wink.gif&quot; alt=&quot;Wink&quot; /&gt; ). Aber irgendwie sind wir bisher nie dazugekommen. Das &amp;auml;ndert sich nun!&lt;br /&gt;&lt;br /&gt;An dieser Stelle informieren wir euch &amp;uuml;ber kleine und gro&amp;szlig;e &amp;Auml;nderungen im BlitzBasic Portal und freuen uns &amp;uuml;ber Feedback via Kommentare.&lt;br /&gt;&lt;br /&gt;Gr&amp;uuml;&amp;szlig;e&lt;br /&gt;D2006&lt;br /&gt;&lt;br /&gt;Im Namen der Portalsadministration</description>
			<pubDate>Mon, 09 Feb 2009 21:24:11 +0100</pubDate>
		</item>


	</channel>
</rss>

