Laden...

myCSharp wechselt die Plattform

Erstellt von Abt vor 3 Jahren Letzter Beitrag vor 3 Jahren 3.510 Views
Abt Themenstarter:in
16.806 Beiträge seit 2008
vor 3 Jahren
myCSharp wechselt die Plattform

Liebe myCSharp.de Community,

viele Jahre betreiben wir diese Plattform auf einer etwas älteren Code-Basis in Form eines Debian-Servers, php und einer MySQL Datenbank. Sie hat uns viele Jahre treue Dienste geleistet, liefert pro Monat für fast 20 Millionen Web-Anfragen ein Ergebnis aus, aber hinter den Kulissen hat es uns vor allem in den letzten Jahren sehr viel Arbeit bereitet.
So viel Arbeit, dass viele andere Dinge zu kurz kamen, da schließlich nur die freiwillige Freizeit der jeweiligen Team-Mitgliedern zur Verfügung stand.

Schon vor vielen Jahren bestand daher der Wunsch das Forum grundlegend zu erneuern; wenn möglich mit dem Anspruch dies auch auf einer .NET Plattform zu betreiben, was so aus Mangel an kompatiblen Möglichkeiten leider nicht möglich war. Ein Wechsel auf eine neuere php-Version wäre mit einem Datenverlust begleitet worden, was wir ebenfalls nicht wollten.

Nach nun etwas über zwei Jahren Entwicklungszeit - es stand nur die Freizeit am Abend oder am Wochenende zur Verfügung - können wir nun den Erfolg verkünden, dass wir in Kürze (ein genaues Datum steht noch aus) den Umzug auf eine Eigenentwicklung basierend mit .NET 5, ASP.NET 5, Entity Framework 5, vielen Open Source Komponenten und Azure durchführen werden.

Was ändert sich?

  • das gesamte Hosting, das gesamte Backend: wir wechseln vollständig auf einen .NET Stack mit C#9, .NET 5, ASP.NET 5, Entity Framework 5, MediatR als Engine..... und und und sowie Azure SQL, Azure Web Apps und andere Annehmlichkeiten, die wir von Azure von Haus aus geschenkt bekommen. Wir werden nach dem Umzug einen Artikel zur Verfügung stellen, wie wir das neue Forum umgesetzt haben
  • das Frontend wird - leider - nur gewisse Änderungen mitbringen. Der große Fokus bestand einfach darin eine stabile, zukunftssichere technische Basis zu erhalten, sodass wir nun mit der Zeit auch das Frontend anpassen können

Gibt es neue Features?

Geben wir bekannt, wenn wir umgezogen sind 😃

Ändert sich mein Passwort?

Nein.

Euer Passwort ist derzeit mit einer kryptographischen Ein-Weg-Hashfunktion inklusive Salting in einem 128 Bit-Hashwert gespeichert. Dies basiert auf einem prinzipiell immer noch sicheren Verfahren - ist jedoch nicht mehr die modernste Art und Weise Passwörter abzulegen.

Beim ersten Login auf der neuen Plattform wird euer Passwort automatisch in ein moderneres, sichereres PBKDF2-basierendes Hashverfahren neu verschlüsselt und abgelegt. Dies ist die derzeitige Standard-Implementierung unserer Identity Plattform und gilt als insgesamt derzeit sicherstes Verfahren für das verschlüsselte Abspeichern von Passwort-Informationen.

Die automatische Passwort-Migration ist ein standardisiertes Verfahren, um Passwörter automatisch auf einen jeweils aktuellsten Standard zu migrieren und ist Teil der Identity Plattform, die wir verwenden.
Auch in Zukunft, wenn es einen noch sichereren Weg gibt Passwörter abzulegen, wird dieser Mechanismus verwendet.

Ändern sich die URLs?

Ja. Im Prinzip werden sich alle, wirklich alle URLs von mycsharp.de ändern.

Das neue myCSharp Portal wird mit einem SEO-freundlichen URL-Schema arbeiten, wobei alle bestehenden URLs ihre Gültigkeit behalten, da einfach entsprechend von den alten auf die neue URLs weitergeleitet werden

Bot-Schutz und Troll-Schutz

In der Vergangenheit hatten wir immer wieder - wie viele andere Webseiten auch - Probleme mit Bots und Trolls. Ein wirkliches Eindämmen haben wir dabei vor allem mit der Integration von Google Recaptcha erreicht.
Recaptcha werden wir dabei nicht nur bei der Registrierung, sondern auch bei jedem Login anwenden, um uns gegenüber Automatismen zu schützen.
Dabei verwenden wir die Version 3, die im Hintergrund eine Prüfung durchführt und ihr in 99,9% der Fälle nicht merkt und auch kein entsprechendes Prüf-Fenster kommt.

Was neu ist:* Eine Registrierung mit einer Wegwerf-Adresse wird nicht mehr möglich sein

  • Es ist noch offen, wie wir auf E-Mail Bounces (wenn eine Adresse nicht mehr existiert) oder verwendete Wegwerf-Adressen in bestehenden Accounts reagieren

Der Hintergrund ist, dass wir teilweise Probleme mit dem Spam-Ranking bei E-Mail Anbietern hatten, sodass an gewisse E-Mail Provider keine E-Mails versenden konnte bzw. diese schlicht und einfach abgelehnt wurden; meist ausgelöst durch Bounces sowie durch Wegwerf-Adressen.
Wir verwenden den Mechanismus daher vor allem als Prävention, sodass jeder Benutzer in Zukunft auch weiterhin seine gewünschten E-Mails erhält.

Wir wollen es unbedingt vermeiden zusätzliche persönliche Daten (zB. Handynummer als Bestätigung) abfragen zu müssen, wie es bereits andere Webseiten als Eigenschutz machen bzw. teilweise auch machen müssen.

Wer sich also derzeit mit einer Wegwerf-Adresse angemeldet hat: bitte aktualisiert doch eure Adresse auch aus eigenem Interesse und Fairness zu einer echten, euch zugewiesenen, existierenden E-Mail Adresse.

Welche Daten werden in Zukunft gesammelt?

Das Einhalten der entsprechenden DSGVO-Vorgaben war und ist ein essentieller Punkt beim Betreiben einer solchen Plattform. Ebenso das Cookie-Handling.

Unser generellerer Anspruch war und ist es, dass wir so wenig Daten wie möglich speichern. Wir haben daher dabei darauf geachtet, dass wir so viele Daten wie möglich Optional halten, wenn sie überhaupt abgefragt werden.
Daher haben wir seit eh und je bei der Registrierung die Empfehlung stehen, sich mit einem Pseudonym anzumelden - jeder darf dies natürlich, wenn er möchte.

Wir sind aber verpflichtet gewisse Daten zu speichern; zum Beispiel die IP-Adresse.
Die DSGVO sagt, dass wir solche Informationen speichern dürfen "so lange der Bedarf besteht" - doch was ist "Bedarf"?
Gewisse Urteile sagen, dass wir die IP-Adresse im Speziellen 30 Tage speichern dürfen - andere sprechen von 12 Monaten.
Wir haben uns entschieden, dass 7 Tage für das Speichern einer IP-Adresse für uns vollständig ausreicht und wir diese danach automatisch bei den entsprechenden Inhalten löschen werden.

Durch die neuen Möglichkeiten auf Azure selbst werden wir aber im Rahmen von Application Insights Daten sammeln, die sich jedoch rein auf die Plattform und nicht auf die Benutzer beziehen. Zum Beispiel:

  • Logging wie zB. Exception-Logging
  • Laufzeit-Analyse wie zB. "Wie lange benötigt das Laden eines Threads aus der Datenbank?"
  • Render-Time aka "Wie schnell wird der Inhalt im Browser angezeigt?"
  • ...

Es geht hier also um den zuverlässigen Betrieb der Plattform und nicht das Daten-Sammeln von Interaktionen unserer Mitglieder.

Was ihr tun müsst

Nichts - vielleicht etwas Geduld mitbringen.

Der Daten-Umzug wird durch eine selbst geschriebene Migrationsroutine automatisch durchgeführt und braucht selbst nur circa 2 Minuten - alle Daten bleiben erhalten, alle Daten werden migriert.

Downtime

Es wird daher in naher Zukunft eine entsprechende Downtime von mehreren Stunden geben, in der wir die neue Infrastruktur aufbauen und die Daten migrieren.


Wir danken euch für eure Community-Treue und euer Verständnis und freuen uns auf die neue Plattform!

W
955 Beiträge seit 2010
vor 3 Jahren

Vielen Dank für die zeitraubende Arbeit die Ihr auf Euch genommen habt!

3.511 Beiträge seit 2005
vor 3 Jahren

Wow! Und vielen Dank für euer Engagement.

"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)

D
261 Beiträge seit 2015
vor 3 Jahren

Danke!

Werden einzelne Teile oder vielleicht sogar das Ganze Open-Source sein?

Abt Themenstarter:in
16.806 Beiträge seit 2008
vor 3 Jahren

Aufgrund des Open Source Gedankens verwenden wir als SCM bereits GitHub.
Einzelne Teile werden sicher veröffentlicht; die Anwendung selbst sicher nicht.

Idee ist aber, dass wir durchaus auch Artikel veröffentlichen, wie gewisse Dinge implementiert sind, und warum: zum Beispiel die Engine, der Pattern dahinter etc etc.

J
641 Beiträge seit 2007
vor 3 Jahren

Aufgrund des Open Source Gedankens verwenden wir als SCM bereits GitHub.
Einzelne Teile werden sicher veröffentlicht; die Anwendung selbst sicher nicht.

Warum? was spricht dagegen? Sie kann ja auch veröffentlicht, aber trotzdem nicht kostenlos nutzbar sein.
phpBB was die ganzen Jahre verwendet wurde ist ja auch OS

cSharp Projekte : https://github.com/jogibear9988

Abt Themenstarter:in
16.806 Beiträge seit 2008
vor 3 Jahren

Das ist ja eine allgemeine, alte, immer wiederkehrende Diskussion, ob man ein ganzes Produkt veröffentlicht - oder nicht.

Ich bin großer Freund von Open Source: wenn es sinn macht; Sinn für alle Beteiligten.
Unsere neue Plattform ist eine spezifische Implementierung für unsere Anforderungen; kein allgemein-nützliche Plattform für generische Zwecke wie phpBB.

Von Deiner Seite ist ja nun die Frage: was spricht dagegen?
Von meiner Seite zB: was spricht dafür?

Der Code an für sich der hilft Dir nicht weiter. Du kannst ihn für Deine Zwecke schlicht und einfach nicht nutzen.
Er ist auch gar nicht dafür gedacht, dass daraus ein Framework wird wie eben phpBB.
Der Forencode der letzten 17 Jahre war übrigens auch nicht Open Source.

Wenn Du davon lernen willst, dann durch die Pattern und Paradigmen: die werden wir veröffentlichen.

Stand heute ist der Code ohnehin nicht ready ihn zu veröffentlichen.
Jeder Entwickler kennts 😉

H
523 Beiträge seit 2008
vor 3 Jahren

phpBB was die ganzen Jahre verwendet wurde ist ja auch OS

Es ist doch gar kein phpBB sondern ein Woltlab Burning Board (2.x)?

Abt Themenstarter:in
16.806 Beiträge seit 2008
vor 3 Jahren

Glaube die Verwirrung kommt von mir, weil ich im Eingangspost phpBB geschrieben hatte (habs korrigiert).
Hab phpBB wegen einem aktuellen Kundenprojekt geschrieben; wollte aber php schreiben.

309 Beiträge seit 2020
vor 3 Jahren

Aus Interesse, WBB oder auch phpBB ist doch eine vollständige Forensoftware. Wie kann das Front-End dann geich bleiben? Das Theme ans neue Backend anpassen oder wie? Ist das nicht viel mehr Aufwand als gleich ein ganz neues zu machen?

Abt Themenstarter:in
16.806 Beiträge seit 2008
vor 3 Jahren

Ob ich das HTML von php ausliefer oder von ASP spielt ja keine Rolle; daher ne: viel viel viel weniger Aufwand.
Und Zeit ist nun mal ein rares Gut - daher entsprechend der Kompromiss erstmal das Backend auf eine stabile Basis zu bekommen.

O
79 Beiträge seit 2011
vor 3 Jahren

Ich finde das alles ziemlich spannend. Der gesamte Code ist uninteressant, glaubt mir. Wer selbst an solchen großen und lange laufenden Projekten gearbeitet hat, weiß das. Teile und Ideen bzw. Patterns zu veröffentlichen, ist der optimale Weg, so das auch die Community davon profitiert.

Besonders spannend finde ich das Thema Datensammlung und hier das darauf geachtet wird, die Sammelwut so weit wie möglich einzudämmen. Andere Websites sind da gieriger 😄

Abt Themenstarter:in
16.806 Beiträge seit 2008
vor 3 Jahren

Besonders spannend finde ich das Thema Datensammlung und hier das darauf geachtet wird, die Sammelwut so weit wie möglich einzudämmen. Andere Websites sind da gieriger 😄

Daten sammeln kostet halt auch Speicherplatz und damit Geld.
Und da wir das Forum aktuell ohne externe Geldquellen finanzieren - also aus privater Tasche - liegt natürlich auch daran das Forum so kosten-effizient zu betreiben wie möglich.
Aus diesem Grund gibt es zB. auch keine Minicity mehr im neuen Forum, weil die Minicity 9x mehr Speicherplatz in der Datenbank benötigt als die Foreninhalte selbst - ohne inhaltlich einen Mehwert zu bieten.

Ansonsten ist das alles sehr einfach:
> Application Insights mit Serilog für ASP.NET Core für das Fehlerhandling und die Performance-Analyse
> CloudFlare Analytics um zu wissen, wie oft unsere Webseite aufgerufen wird und wie viel Traffic wir erzeugen (aktuell ~20 Mio Aufrufe im Monat und ca. 150 GB Traffic)
> Google Tag Manager (GTM arbeitet ohne Cookies und sammelt keine personenbezogene Daten > unterliegt damit nicht der DSGVO) um zu verstehen, ob unser SEO funktioniert oder nicht und von welchen externen Quellen auf das Forum verwiesen wird (und welche Links auf das Forum nicht mehr funktionieren)

P
441 Beiträge seit 2014
vor 3 Jahren

Um noch einmal in die gleiche Kerbe zu schlagen. Das Forum geht schon lange den Weg, keine fertigen Lösungen auf Fragen zu produzieren, sondern die Mitglieder entsprechend so aufzuschlauen, dass sie die Lösungen selber erstellen können.

Das gleiche ist, die verwendeten Pattern zu erklären, anstatt eine fertige Lösung hinzuklatschen.
Es bringt dem einzelnen wesentlich mehr ein verstehen aufzubauen und eigene Fehler zu machen, als zu versuchen etwas fertiges zu kopieren und die gemachten Fehler nicht zu verstehen 😃
Aber auch das ist ein Lernprozess.

309 Beiträge seit 2020
vor 3 Jahren

Kann man noch einbauen dass man an zwei Geräten gleichzeitig eingeloggt sein kann? Das wäre sehr praktisch.

Abt Themenstarter:in
16.806 Beiträge seit 2008
vor 3 Jahren

Feature Requests gerne, wenn dann das neue myCSharp da ist und ihr seht, was neues da ist oder fehlt 😃
Da ja oben steht, dass wir ein völlig anderes Identity System haben.. vielleicht ist das ja schon lange gefixt 😉

Abt Themenstarter:in
16.806 Beiträge seit 2008
vor 3 Jahren

Am Wochenende gibts entsprechend eine Downtime 😉

T
2.219 Beiträge seit 2008
vor 3 Jahren

Gibt es für die Allgemeinheit ein ChangeLog?
Würde mich ab und an für Neuerungen/Änderungen interessieren.

Anbei gab es vor 2-3 Wochen scheinbar Abends einen Ausfall, Forum war nicht erreichbar.
Gab es da irgendwelche Probleme?

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

Abt Themenstarter:in
16.806 Beiträge seit 2008
vor 3 Jahren

Gibt es für die Allgemeinheit ein ChangeLog?

Wird ein allgemeinen Artikel geben aber keine klassische Changelog.

Anbei gab es vor 2-3 Wochen scheinbar Abends einen Ausfall, Forum war nicht erreichbar.
Gab es da irgendwelche Probleme?

Mhhh ..das einzige, was ich in Application Insights sehe ist, dass es eine 2 Minuten Downtime wegen OS-Updates gab.
Mehr sehe ich da nicht (und wüsste jetzt auch nichts von einem Ausfall); kam auch kein Alert.

T
2.219 Beiträge seit 2008
vor 3 Jahren

@Abt
Hatte leider kein Screenshot gemacht, deshalb kann ich nicht mit sicherheit sagen wann es genau war.
Ich hatte auf jeden Fall eine Azure Fehlerseite gesehen und mycsharp war auch nicht aufrufbar.
Erst am nächsten Tag ging es bei mir wieder.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

Abt Themenstarter:in
16.806 Beiträge seit 2008
vor 3 Jahren

Ich hatte auf jeden Fall eine Azure Fehlerseite gesehen

Das is komisch, weil das kann - aktuell zumindest - gar nicht sien.

Das phpBB Forum wird aktuell auf einer VM gehostet; nicht in einem App Service.
Bei einem Fehler können aktuell nur zwei Dinge angezeigt werden:

Eine Azure Fehlerseite kann es in unserem phpBB Setup nicht geben, weil wir keinen Managed Azure Service mit phpBB verwenden.
Daher wäre der Screenshot schon interessant.

Ich mag den Proxy aber auch ausschließen, weil ich auch da in den Reports keine Downtime sehe.

T
2.219 Beiträge seit 2008
vor 3 Jahren

Sollte es nochmal auftreten, mache ich ein Screenshot und hänge den an.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

F
10.010 Beiträge seit 2004
vor 3 Jahren

Auf http://forum.tabletpcreview.com/ gab es vor ein paar Tagen ein ähnliches Problem, da lag es aber an einem problem mit dem registrar, so das die Domäne umgeleitet wurde.

War hier evtl auch so?!

Abt Themenstarter:in
16.806 Beiträge seit 2008
vor 3 Jahren

Ist mir nichts bekannt bzw. hab ich keinen Alert dazu erhalten.
Ich seh auch, dass (ausser in den 2 Minuten Updates) regelmäßig Requests rein kamen und kein Error geflogen ist.
Bei nem zentralen Thema müsste es ja alle treffen.

Kann mir vorstellen, dass es evtl. ne einzelne Proxy Node war; dann betriffts natürlich nur die.
Seh jetzt dazu in den CloudFlare Issues auch nix.

1.696 Beiträge seit 2006
vor 3 Jahren

Hallo Benjamin,

gibt es noch die Möglichkeit wie beim alten Board ../search.php?action=new, um für mich noch nicht gelesene Beiträge anzuzeigen?

Grüße
Tu

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

F
10.010 Beiträge seit 2004
vor 3 Jahren

Wenn du auf myCSharp.de - Aktive Themen gehst, siehst du auch alle Beiträge.
Die seit deinem letzten mal sind Gelb

1.696 Beiträge seit 2006
vor 3 Jahren

Wenn du auf
>
gehst, siehst du auch alle Beiträge.
Die seit deinem letzten mal sind Gelb

Ah, danke dir, hab die Links gar nicht gesehen 😃

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

W
955 Beiträge seit 2010
vor 3 Jahren

Wenn du auf
>
gehst, siehst du auch alle Beiträge.
Die seit deinem letzten mal sind Gelb

Deshalb verstehe ich ja nicht warum dieser Link nicht im Menü auftaucht! Außerdem funktioniert die Smiley-Einfüge-Funktion nicht.

Abt Themenstarter:in
16.806 Beiträge seit 2008
vor 3 Jahren

Der Link ist im Forenbereich ganz oben. Dort, wo er früher auch schon war.

Außerdem funktioniert die Smiley-Einfüge-Funktion nicht.

Mehr Informationen wäre nicht schlecht. Das kann doch echt nicht so schwer sein... "Geht nicht" ist keine Fehlermeldung.
Im Forenbereich und im PM bereich funktioniert das Emoji; zumindest bei allen Tests - und auch hier im Beitrag. 👍

W
955 Beiträge seit 2010
vor 3 Jahren

Nein, der Link ist nicht auf der Seite. Er taucht nur 4x in den Posts auf.
Was ist mit dem Emoij nicht zu verstehen? Es gibt doch nur eine Stelle wo Smileys eingefügt werden können. Ich kann auf den Dingern rumklicken wie ich will, es poassiert nichts.

Abt Themenstarter:in
16.806 Beiträge seit 2008
vor 3 Jahren

Nö, das geht.

Hier ein Gif (Ja, externe Plattform), das, das zeigt (sowas hilft bei der Fehlererkennung, genauso wie eine Consolen-Meldung, wenn es sie gibt!)

GIF: myCSharp Smiley Editor funktioniert problemlos

PS: den einzigen Browser, den wir nicht testen, ist der Internet Explorer.
Wer den verwendet; ja gut: Pech gehabt.

Und erneut: dieses Thema ist nicht für Fehlermeldungen gedacht.
Wir haben extra Sammelthema Wünsche und Bugreports myCSharp

W
955 Beiträge seit 2010
vor 3 Jahren

OK, in der Console von Firefox und Brave kommt
DevTools failed to load SourceMap: Could not load content for https://cdnjs.cloudflare.com/ajax/libs/microsoft-signalr/3.1.8/signalr.min.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE
Ist das vllt der Grund?
Danke

Abt Themenstarter:in
16.806 Beiträge seit 2008
vor 3 Jahren

Nein.

SourceMaps sind quasi die Debugger-Files der JavaScript-Welt.
Die sind für die Runtime irrelevant und werden nur geladen, wenn man die DevTools des Browsers startet.

D
261 Beiträge seit 2015
vor 3 Jahren

@witte Hast du eventuell einen Adblock wie uBlock oder Scriptblocker wie uMatrix und hast dort Verbindungen zu Drittanbieter-Seiten unterbunden?

W
955 Beiträge seit 2010
vor 3 Jahren

Ja, das habe ich unterbunden. Vielleicht sollten andere Forummitglieder mal diese Funktion testen. Schliesslich verwenden heute viele solche Blocker.
Wir können das Problem ja auch in einen neuen Thread verschieben.
Danke.

Abt Themenstarter:in
16.806 Beiträge seit 2008
vor 3 Jahren

Schliesslich verwenden heute viele solche Blocker.

Das is dann ehrlich gesagt nicht unser Bier - und auch nicht das Bier der anderen Webseiten.
Es ist nicht möglich jedes blockbare Element doppelt abzusichern.

Hast ein Scriptblocker, dann musst Dir bewusst sein, dass einige Dinge nicht funktionieren können, weil das eben über Scripts funktioniert.
Wir können das leider nicht mit schwarzer Magie umsetzen.

W
955 Beiträge seit 2010
vor 3 Jahren

Ich hatte mich falsch ausgedrückt: ich habe Blocker unterbunden, also abgeschaltet. Aber ist ja auch egal, vllt melden andere diese Probleme.