Posts by Marcel Beckers
-
-
-
-
Heureka! Das "Wettbewerbe Basissystem" spricht jetzt durchgehendes TypeScript.
Heute ist ein besonderer Tag in der Geschichte unserer Plugin-Reinkarnation: Der letzte jQuery-Block im "Wettbewerbe Basissystem" ist gefallen.
Was vor Monaten als „kleines Refactoring“ begann, hat sich zu einem epischen Bossfight entwickelt – doch jetzt kann ich mit stolz sagen:Der InlineEditor wurde bezwungen, der Code gebändigt – TypeScript regiert die Wettbewerbe!
-
-
Seit Donnerstag Abend strahlt die Begriffserklärung im neuen Glanz und somit fiel gestern abend der Startschuß zum nächsten Meilenstein: Das Wettbewerbs-Refactoring.
Und was soll ich sagen – der Editor glühte.Participiant – laut Duden nicht existent
Es fing harmlos an:
Ein kleiner Buchstabendreher – participiants.
Klingt wie ein legitimes Wort, steht aber in keinem Duden dieser Welt.
Also wurde es Zeit für die große Säuberung:
Umbenannt in participants – überall.Was folgte, war eine Lawine:
- Dateinamen falsch → Klassen falsch → Namespace falsch
- Sprachvariablen? Auch falsch.
- Templates? Klar, auch betroffen.
Ein kleiner Typo, große Wirkung.
Aber jetzt sitzt alles. Und der Duden gibt seinen Segen. Wenn schon verbessern, dann richtigWeitere Refactor-Highlights:
- Property-Kommentare auf Hochglanz – Jeder weiß jetzt, was $competition, $round und Co. eigentlich tun.
- SQLs entschärft – keine wild zusammengeschobenen Strings mehr, dafür prepared & noch sicherer.
- Logik vereinfacht – statt intval(X) !== 0 → lieber gleich intval(X) === 1, wie ein echter Boolean-Connaisseur.
- Smarty-Templates aufpoliert – Labels korrekt ergänzt, semantisch alles hübsch gemacht.
Der ganze Spaß wäre übrigens nicht passiert, wenn ich damals einfach einmal den Duden aufgeschlagen hätte. Aber hey – wo bleibt sonst der Lernfaktor?
Ich geh jetzt erstmal duschen, mach ne Runde Sport – und dann geht’s weiter, wenn der Kopf wieder frisch ist.
Der Code ist es inzwischen jedenfalls. -
Länger als gedacht...
Warum? Na, der ganz normale Wahnsinn eben: Zwischen Multihunter-Finetuning, weiterentwicklung des Arbeitsplatz, Clan-Verwaltung & Co. blieb das Update zur Begriffserklärung immer wieder „kurz hinten dran“. Aber jetzt ist’s so weit – und das Warten hat sich gelohnt!Nach Wochen voller Tests, Typisierungen (die eh niemand sehen will
) und einer kleinen, aber feinen UX-Offensive ist das neue Update endlich erschienen.
Was ist neu?
Begriffe können jetzt direkt aus Beiträgen heraus vorgeschlagen werden – ganz einfach per Hover über ein beliebiges Wort.
Moderatoren erhalten bei Vorschlägen automatisch eine Info – inklusive Benutzername und Begriff.
Dank Flood Control wird Spam ein Riegel vorgeschoben: Es gibt einen einstellbaren Mindestabstand zwischen Vorschlägen – und sogar ein Tageslimit.
Und das Beste: Die optionalen Plugins für Drittplugins sind Geschichte – externe Begriffe können jetzt zentral über das Hauptplugin verwaltet werden.Natürlich gab’s auch wieder typisierte Interna, ein bisschen Refactoring und liebevolle Sprachpolitur – aber hey, das bleibt unter uns.
Und wie geht’s weiter?
Der Multihunter steht quasi schon im Türrahmen – frisch frisiert, mit neuen Typisierungen und einem Blick, der eindeutig sagt: „Ich bin bereit für die große Bühne.“
Der Arbeitsplatz murmelt schon etwas länger vor sich hin. Und die Clan Verwaltung? Die will endlich ihre Rolle als heimlicher Community-Star zurück – mit Features, die selbst eingeschlafene Clans wieder wachrütteln.Bleibt gespannt – der Wahnsinn geht weiter.
-
-
Hättest du nicht mindestens die zwei Felder dort drin, würde es nicht zu der Fehlermeldung kommen.
-
-
-
Quote
Die Spalte wcf1_user.userString gehört zu einem anderen Paket und kann deshalb nicht verändert werden.
Die Spalte wcf1_user.trashMail gehört zu einem anderen Paket und kann deshalb nicht verändert werden.
Die Fehlermeldung ist ziemlich eindeutig – wie es jedoch genau dazu kam, lässt sich im Nachhinein schwer sagen. Möglicherweise liegt die Ursache in einer fehlerhaften Installation oder einem anderen Plugin, das das betreffende Feld angelegt hat. Ich vermute eher Ersteres.
Empfehlung: Deinstalliere das Plugin vollständig und bereinige anschließend deine Datenbank manuell.
- In der Tabelle wcf1_user sollten die Felder userString und trashMail entfernt werden.
- Zusätzlich sollten alle Tabellen gelöscht werden, deren Name mit wcf1_multihunter_ beginnt.
Falls du dir bei der Datenbankbereinigung unsicher bist, melde dich gern – dann schauen wir gemeinsam, wie wir das sauber gelöst bekommen.
Gruß
Marcel -
Hey Shalin,
Auch hier wieder Danke für deine Meldung. Der Fehler ist in der Version 6.1.7 behoben.
Gruß
Marcel -
Die hab ich dort gestern hochgeladen, der Rest liegt an WoltLab.
Du kannst hier auch einfach die "WoltLab Freischaltung" machen, dann kannst du es auch von hier herunterladen
-
Ich bin aktuell an einm Update dran, was zuerst mal die optionalen Plugins überflüssig macht, denn hier sehe ich das erste große Problem. Damit bin ich auch so gut wie durch.Im nächsten step überarbeite ich auch nochmal den Aktualisierungsprozess, damit auch nur noch [definition='x,x'] erkannt werden, ohne das dazugehörige schließenden Tag. Damit dürften beide Probleme der Vergangenheit angehören.
-
Eyyy... Absolut mein Fehler...
Shame on you Marcel...
Ich hab den Fehler nun endgültig behoben.
Gruß
Marcel -
Heyho,
Vielen Dank für den Hinweis. Beim letzten Wartungsupdate hat sich an der Stelle eine falsche Behandlung verschiedener Parameter eingeschlichen. Den Fehler hab ich in der Version 6.1.5 soeben behoben.
Gruß
Marcel -
Heyho,
Danke dir für den Hinweis. In dem letzten Update hat sich eine falsche TypeScript Konfiguration eingeschlichen, weswegen die JavaScriptdatei nicht richtig kompiliert wurde. Ich hab den Fehler ind er Version 6.1.2 behoben.
Gruß
Marcel -
Hey Glyon,
Danke für den Hinweis. Hier handelte es sich nur um eine fhelerhafte UpdateANweisung. Das Update mit der korrekten habe ich soeben veröffentlicht.
GrußMarcel
-
Vom Popup-Wahnsinn bis zur Straßenblockade
Was passiert eigentlich im Maschinenraum unseres Spiels, wenn niemand hinschaut? Hier ein kleines Protokoll einer ganz normalen Session von mir vom heutigen Tag...Phase 1: Ressourcenleiste mit Köpfchen
Wir starten harmlos. Die Ressourcenleiste tickt brav vor sich hin, aber irgendwann läuft sie einfach munter über jedes Limit hinaus. Ergebnis: Unsere Holzlager explodieren virtuell, weil niemand dem Script gesagt hat, dass "max" nicht nur ein Name sein kann.
Fix: Ressourcen stoppen bei Lager-Vollstand. Und hey – negative Zahlen mögen wir auch nicht. Also: min und max, rein damit.Phase 2: Das Vermessungsamt zieht ein
Ein neues Gebäude musste her. Kein Spektakel – ein funktionales Ding, das das Spielfeld vergrößert. Doch wie nennen wir es? "Grenzstein"? "Stadtzentrumserweiterung 3000"?
Am Ende gewinnt: Vermessungsamt. Realistisch, trocken, und herrlich deutsch.
Dazu gibt’s natürlich Kategorien fürs Baumenü: Produktion, Rohstoffgewinnung, Verwaltung… nur „Wohnen“ bleibt leer. Das Spiel ist halt kein Sims.Phase 3: Das Grid rebelliert
Gebäude ins Grid setzen – easy. Aber wohin genau darf man sie eigentlich stellen?
Bisher: überall, Hauptsache es ist nix im Weg.
Jetzt: neue Funktion prüft, ob man überhaupt noch im erlaubten Spielfeld ist.
Die Vermessungsbeamten freuen sich.Phase 4: Straßen?! Hilfe…
"Straßen sollen rein visuell bleiben!" – famous last words.
Kreuzung? T-Stück? L-Ecke? Allein der Screenshot hat gereicht, um zu sagen: nope. Idee vertagt.Phase 5: Popup-Drama, Staffel 1
Dann begann der Krieg mit den Popups.
Erst öffnen sie sich nicht. Dann schließen sie sich sofort. Dann schließen sie sich gar nicht. Dann schließen sie sich sogar, wenn man sie nur schief anschaut.
Nach viel Debugging, Tracing, Wutanfall und pointer-events: none kam die Erleuchtung: Das Problem war das Blur-Backdrop. Der saß über allem – auch über dem Mauszeiger.
Lösung: Z-Index, Event-Handling und ein Hauch dunkle Magie.
Und am Ende stellt man fest: heut ist der Kopf wohl zu voll.So viel Chaos, so viel Spaß. Und das war nur ein Ausschnitt.
Es bleibt wild – aber hey: Das Spiel wächst.
Und das Vermessungsamt hat’s offiziell bestätigt.
Morgen geht’s motiviert weiter – der Popup-Wahnsinn wird (hoffentlich) endgültig besiegt.