[?] Portal update
-
GPC schrieb:
Ben04 schrieb:
wie aufwendig wäre es, am Anfang oder am Ende eines Artikels einen Verweis auf magazin.c-plusplus.net zu setzen? Irgendetwas in der Art "Dieser Artikel stammt aus dem Magazin von C++.de (http://magazin.c-plusplus.net)" ...
Das ist sehr einfach. Was denken die anderen hierzu?
Ich halte das für eine sehr gute Idee
-
Wassermarke ist drin und ich hab auch noch ein Bug beim neugenerieren von PDFs nach einem Edit gefixt. Es könnte noch leicht Probleme mit veralteten Caches geben wenn von Sommer- auf Winterzeit und andersherum umgestellt wird. Das Problem sollte sich in dem Fall aber im Laufe von ein paar Stunden von selbst in Luft auflösen. Es ist also nicht wirklich ein Problem. Nur mal so aus Neugierde: Ist die Zeitangabe des letzten Edits in Sommer- oder Winterzeit oder wechselt die? Falls sie wechseln so ist es nicht immer ein eindeutig bestimmter Zeitpunkt.
Ich warte mal bis Morgenabend. Wenn bis dahin kein Einwand gekommen ist dann update ich die öffentliche Version.
-
Ben04 schrieb:
Das einfachste ist wenn man in den Artikeln selbst ein paar Zeilenumbrüche rein packt.
Das sehe ich auch so.
Man sollte vielleicht einfach in der Anleitung darauf hinweisen, dass in Code-Tags maximal ca. 80-90 Zeichen pro Zeile verwendet werden sollten.Eher zufällig bin ich noch über einen Fehler gestolpert, der anscheinend beim Einbinden von externen cpp-Dateien auftritt, wenn diese Apostrophe (') enthalten.
Schau es dir am besten selbst mal an, ich habe es in deinen Artikeln "Binärer Suchbaum" und "AVL-Baum" festgestellt.
Beispiel aus "Binärer Suchbaum", Seite 27:
da steht
out.put (// Die Wurzel ist kein Kind 178 // Der höchste Unterbaum bestimmt die Gesamthöhe);
statt
out.put(' ');
Der Fehler führt auch dazu, dass die Schrift so winzig wird.
-
Ben04 schrieb:
Es könnte noch leicht Probleme mit veralteten Caches geben wenn von Sommer- auf Winterzeit und andersherum umgestellt wird. ... Ist die Zeitangabe des letzten Edits in Sommer- oder Winterzeit oder wechselt die?
Das ist wie immer nicht ganz einfach zu beantworten.
In der Datenbank stehen die Zeiten natürlich als UTC, und ist damit eindeutig (und wäre auch eindeutig abrufbar, falls wirklich notwendig). In der XML wird die Zeit aber - da vom phpBB erzeugt - bereits auf die eingestellte lokale Zeit umgerechnet, d.h. sie kommt dann als Winterzeit/Sommerzeit u.U. mehrdeutig für 1 Stunde.
-
Das schlimmste was passieren kann ist, dass die PDFs eine Stunde den Edits hinterher hinken oder, dass eine Stunde lang die PDF bei jeder Abfrage neu generiert werden.
Da Edits eh nicht so oft vor kommen und keine der Konsequenzen wirklich schlimm sind kann man meiner Meinung nach damit leben wie es jetzt ist.
-
Sehe das auch nicht als Problem an. Wir editieren ja nicht sooo häufig, als das es wirklich relevant wäre, die PDFs ständig topaktuell zu halten
-
Neu Version online:
- Code wird jetzt korrekt gefärbt.
- Code wird nicht mehr verkleinert. Wenn eine Zeile zu lang ist, dann schießt sie halt über den rechten Rand raus. Maximal sind in etwa 88 Zeichen bei einer Tabbreite von 4 Zeichen. Es geht auch noch bis etwa 95 aber das wird dann in den Rand der Seite geschrieben und sieht nicht toll aus.
- Dateien mit anderen Erweiterungen werden nun auch nachgeladen. (h, hpp, hxx, H, c, cpp, cxx, C). Sie werden jedoch immer als C++0x gefärbt.
- Es ist möglich das Nachladen zu unterdrücken indem man eine gleichnamige Datei mit dem Anhängsel ".not_in_pdf" hochlädt. Also zum Beispiel wenn eine Datei unter der Url www.foo.bar/bla/blub.cpp zu finden ist und es eine Datei unter www.foo.bar/bla/blub.cpp.not_in_pdf gibt so wird sie nicht nachgeladen. Dies wird im AVL und im Suchbaum Artikel verwendet. Der Inhalt der ".not_in_pdf" Datei ist unbedeutend. Es darf sich um eine leere Datei handeln.
-
Cool, das klingt gut
Am Besten wir achten schon von Beginn an darauf, dass der Code nicht länger als ~80 Zeichen wird, dann bekommen wir auch keine Probleme beim Verkleinern.
-
Wenn keiner mehr Einwände dann mache ich die neue Version mal langsam öffentlich zugänglich...
-
Neue Version ist jetzt öffentlich.
Noch ein paar allgemeine Fragen:
- Ist es möglich an den BBCode der Artikel ran zu kommen? Ein Weg über pdflatex würde wahrscheinlich bessere Ergebnisse liefern als diese html2ps|ps2pdf Lösung. (Nein ich hab nicht vor, das jetzt zu machen. Es geht mir nur um die Machbarkeit.
)
- Kennt irgendwer eine ordentliche Dokumentation zu mod_rewrite? Die Apache Docs verschweigen zum Beispiel, dass sich mod_rewrite anders verhält wenn eine Datei existiert als wenn nicht.
- Weiß irgendwer wo man die mod_rewrite Autoren steinigen kann? (Sorry aber das musste jetzt raus) Über Alternativen wäre ich sehr dankbar.
- Ist es möglich an den BBCode der Artikel ran zu kommen? Ein Weg über pdflatex würde wahrscheinlich bessere Ergebnisse liefern als diese html2ps|ps2pdf Lösung. (Nein ich hab nicht vor, das jetzt zu machen. Es geht mir nur um die Machbarkeit.
-
a) BBCode: natürlich möglich, da man auf die DB zugreifen könnte. Aber das ist sehr unschön, da man dann die ganze "wie erstelle ich einen Thread aus dem Head und den Inhalt-Records" des phpBB nachprogrammieren muß - das schafft natürlich eine hohe Kopplung zur internen Struktur des phpBB.
b) www.modrewrite.de sind die Experten
-
Meinst du mit a), dass der Aufwand wahrscheinlich nicht im Verhältnis zum Ertrag steht?
b) da hab ich schon gefragt. So wirklich blicken tuen die es auch nicht. Das ist eher ein Herumgedoktor bis es irgendwie das tut was es soll. Wieso sich eine .htaccess so verhält wie sie es tut erfährt man da nicht.
-
zu a)
Auch, aber schlimmer ist die Verletzung der Kapselung (das phpBB kapselt seine interne Datenstruktur durch diese Form des Exports ja) und damit die Einführung einer Bindung an die interne Struktur. Ist im Sinne des Softwaredesigns normalerweise eine Todsünde, da man bei Änderungen die Seiteneffekte nicht mehr überschauen kann.
-
An sich könnte man ja auch http://www.c-plusplus.net/forum/posting-var-mode-is-quote-and-p-is-$POST_ID.html parsen und so den BBCode erhalten. Das wäre zwar ein Hack allerdings nicht sonderlich aufwendig (der Code wird ja grosszügigerweise schon mit [quote]s abgegrenzt) und die Kapselung würde es auch nicht verletzen werden.
Das einzige Problem wäre es an diese $POST_ID ran zu kommen. Diese wird nämlich nicht von http://www.c-plusplus.net/forum/viewtopic_xml.php mitgesendet. Es wäre auch nützlich bereits in viewforum_xml.php die ID des ersten Posts mit zu senden. Es ist nämlich der Unterschied ob man 3 Abfragen braucht um an den Code zu kommen oder nur 2 und da das Forum nicht wirklich so schnell ist spürt man den Unterschied schon.
-
Ich hab es mal ausprobiert. Wenn die PostID bekannt ist dann kriegt man den BBCode sehr schnell:
function load_bbcode($post_id){ $html = file_get_contents("http://www.c-plusplus.net/forum/posting-var-mode-is-quote-and-p-is-$post_id.html"); if($html === false) return false; if(preg_match("'<textarea[^>]*>\\s*\[quote=\"[^\"]*\"\](.*?)\[/quote\]\\s*</textarea>'is", $html, $match)) return html_entity_decode($match[1], ENT_QUOTES); else return false; }
-
Achtung: was wenn das Topic geschlossen wurde?
-
@Ben04: die Posting-ID habe ich eingefügt:
<posting> <author>{postrow.POSTER_NAME}</author> <date>{postrow.POST_DATE}</date> <subject>{postrow.POST_SUBJECT}</subject> <message><![CDATA[{postrow.MESSAGE}]]></message> <lastChange>{postrow.EDITED_MESSAGE}</lastChange> <postID>{postrow.U_POST_ID}</postID> <------------------- </posting>
-
@Ben04: Ich habe noch einen kleinen Verbesserungsvorschlag.
Die URLs werden mitunter ziemlich lang und unansehlich (z.B. http://magazin.c-plusplus.net/artikel/CPlusPlus09 (Teil 1) - Ein �berblick%3A Sprachfeatures).
Die einfachste Möglichkeit, das ein wenig zu verschönern, ist imho Leerzeichen bzw. %20 durch _ zu ersetzen. Ich kenne mich leider mit mod_rewrite nicht besonders gut aus und habe keine Ahnung, wie kompliziert es ist, diese Änderung noch in das bestehende System einzupflegen.
Klar ist, dass Artikel-Titel keine Unterstriche beinhalten dürften, was aber kein großes Problem sein sollte. Anders sieht es bei Nicks aus, da dort ja durchaus ab und zu Unterstriche vorkommen.
Man müsste diese Leerzeichen-Ersetzung also auf Artikel beschränken, und bei Profilen weglassen.Wie gesagt, ich weiß nicht wie aufwändig es wäre, das Aufwand-Nutzen-Verhältnis kannst du wohl am besten beurteilen (btw, gibt es eigentlich irgendwo den aktuellen Code?).
Oder habt ihr noch andere Ideen?
-
Der technische Aufwand ist recht klein. Es nur für Artikel zu machen ist dann schon wieder ein bisschen mehr Arbeit da dies nicht vorgesehen ist. Mit mod_rewrite würde ich das allerdings nicht machen. (Glaub mir, das schont Nerven.
)
Ich werde es allerdings nicht machen da es nicht so viel verkürzt und ein ordentlicher Browser ein Leerzeichen selbständig richtig ersetzt. Du kann also URLs mit Leerzeichen drin verwenden. Ein weiterer Grund ist, dass Google jetzt diese Version im Index stehen hat. Es wäre unklug da jetzt etwas an den URLs rumzuschrauben ohne, dass es einen wirklichen Vorteil bringt.
btw, gibt es eigentlich irgendwo den aktuellen Code?
Soweit ich weiß nicht. Ich hab aber keine Lust da zwei Versionen synchron halten zu müssen. Wenn du ihn wirklich willst dann kann ich ihn aber rausrücken.
-
Ben04 schrieb:
Mit mod_rewrite würde ich das allerdings nicht machen. (Glaub mir, das schont Nerven.
)
Anscheinend hast du ja wirklich traumatische Erfahrungen damit gemacht.
Ben04 schrieb:
Du kann also URLs mit Leerzeichen drin verwenden.
Ah, gute Idee.
Ben04 schrieb:
Ein weiterer Grund ist, dass Google jetzt diese Version im Index stehen hat. Es wäre unklug da jetzt etwas an den URLs rumzuschrauben ohne, dass es einen wirklichen Vorteil bringt.
Das stimmt allerdings.