Laden...

Hello World! myCSharp auf .NET

Erstellt von Abt vor 3 Jahren Letzter Beitrag vor 3 Jahren 5.305 Views
Abt Themenstarter:in
16.792 Beiträge seit 2008
vor 3 Jahren
Hello World! myCSharp auf .NET

Hallo liebe myCSharp-Community!

Mit dem heutigen Tag haben wir nach insgesamt rund drei Jahren, nach dem wir die ersten Zeile Code geschrieben haben, auf unsere neue .NET basierte Plattform migriert.

Was war.

Das PHP-Forum wurde viele Jahre von Jack30lena auf einer kleinen virtuellen Linux-Maschine - sowohl die Web-Instanz wie auch die Datenbank - betrieben, bevor ich das Forum entsprechend 2018 im Gesamten übernommen habe. Ich persönlich habe fast keine wirkliche operative Erfahrung mit dem Umgang von und mit Servern; sondern bin einfach seit fast 15 Jahren vor allem als Architekt und eben Entwickler unterwegs. Daher war für mich klar, dass ich die betriebliche Verantwortung eines Servers weder stemmen kann noch Zeit für das Erlernen und anschließende Betreiben aufbringen will. Da kann ich meine Zeit einfach besser investieren.

Anfang 2019 wurde dann das Forum auf die Azure-Cloud in West-Europa migriert; in Form eines Managed MySQL Services, sowie einem App Service mit PHP-Unterstützung. Da in Azure App Services keine inhaltlichen Dateien geschrieben werden sollen und daher der Ordner, in dem sich die Web-Applikation befindet, aus Sicherheitsgründen read-only ist, gab es in diesem Zuge bereits eine Anpassung des PHP-Codes, dass wir auch den Azure Storage Service nutzen konnten, auf dem nun die ganzen Anhänge aus dem Forenbereich, sowie Benutzerbilder und ein paar andere statische Inhalte liegen.

Dies war zumindest mal der erste Schritt, der uns etwas Luft verschafft hat, dass wir Zeit in eine Neuentwicklung stecken konnten.

Make or Buy ist eine typische Entscheidung in der Entwicklung und natürlich will man immer alles selbst bauen. Aber da dies ein Freizeit-Projekt ist wollten wir eigentlich so wenig wie möglich selbst machen. Über die Jahre hinweg sind jedoch so viele manuelle Anpassungen im PHP-Code erfolgt, dass so eine einfache Migration gar nicht möglich war.
Hinzu kam, dass das Forum so viele Jahre hinweg nicht aktualisiert wurde, dass wir "einfach so" gar nicht auf eine aktuelle Forensoftware migrieren könnten.
Wir müssten über die jeweiligen Versionen zwischen unserer und der neuesten Version migrieren und womöglich zwischen jeder Migration manuell Dinge anpassen: no way.

Daher blieb uns nichts anderes übrig alles selbst neu zu machen - so oder so.
Das schöne: wenn wir das Forum selbst umsetzen, dann können wir uns die Plattform vollständig aussuchen.

Wie es begann.

Der erste .NET Code der nun vorhanden Basis ist prinzipiell schon vor der Migration auf Azure entstanden: Coffeebean und ich wurden die letzten Jahre immer im Frühjahr von Microsoft an deren Hauptsitz nach Redmond (bei Seattle in den USA) eingeladen, um circa 10 Tage lang über neue Dinge informiert zu werden, mit den verschiedenen Microsoft Teams (.NET, Azure, SQL, Office...) näher in Kontakt zu kommen und sich mit anderen Experten aus den verschiedenen Ecken der Erde auszutauschen. Im März 2018 haben wir uns dort im Rahmen eines Hackathons, welcher das Ziel hatte Community- und/oder Open-Source-Ideen zu schaffen, zusammen an den Laptop gesetzt und die ersten Zeilen Code - damals noch mit .NET Core 2 - geschrieben, die nun unsere Basis bilden.

Berufsbedingt gab es aber auch bei diesem Anlauf keinen wirklichen Fortschritt; echte Ergebnisse gab es dann erst im Winter 2018/2019. Leider gab es durchaus aber auch einige Rückschläge, die in den meisten Fällen mit der Roadmap von .NET Core zu tun hatten, wodurch die Entwicklung immer wieder ins Stocken kam.
Vor allem die Breaking Changes in Entity Framework haben uns sehr viel Zeit (und Nerven) gekostet, weshalb wir einige Paradigmen verworfen und an einigen Stellen neu beginnen mussten.
Oft hat das einem die Lust genommen, weshalb das Forum dann liegen blieb - aber wir wussten, dass es weiter gehen muss.

Während der fortschreitenden Entwicklung kamen immer mehr Features hinzu; vieles zunächst nach dem Motto: Hauptsache funktional mal drin.

Bedingt durch entsprechende Kundenprojekte meinerseits wusste ich aber, dass wir eigentlich wirklich erst Releasen können mit dem Release von .NET 5. Hinzu kam, dass wir aber zwingend bis Februar 2021 wechseln müssen, da Azure die Unterstützung für unsere Uralt-MySQL-Version, die das PHP-Forum zwingend benötigt, abgekündigt hat.
Der Zeitraum, in dem wir wechseln müssen war also gegeben: November 2020 bis Februar 2021.

Wie es ist.

Wir haben uns sehr früh dazu entschieden, dass wir auf einige Dinge verzichten, die das PHP-Forum hatte aber wir eigentlich nicht mehr brauchen; allen voran die MiniCity, die unsere Datenbank extrem belastet hat und keinerlei Mehrwert hatte. Allein die MiniCity hat den zehnfachen Speicherplatz und CPU-Ressourcen benötigt als des gesamte Forum.
Das stand in keinerlei Verhältnis und flog daher raus.

Besonders wichtig ist uns entsprechend die Sicherheit, worauf wir großen Wert gelegt haben.

Prinzipiell ist alles neu am Forum; außer die UI. Die UI werden wir in einem zweiten Schritt auf moderne Beine stellen. Zunächst war uns hier die Technik wichtig, denn ohne dies können wir nichts anderes tun.

Besonders hervorzuheben ist jedoch, dass das Login System völlig neu ist. Es basiert auf ASP.NET Identity und erfüllt die modernsten Standards (inkl. Multi Faktor Authentifizierung über OTPT) - und inkl. den Eigenheiten der GDPR. In Zukunft wird es auch möglich sein sich mit externen Anbietern (Google, Twitter, Microsoft, GitHub) anzumelden.
Endlich kann man sich auf mehreren Geräten gleichzeitig anmelden - und über die Konto-Einstellungen könnt ihr eure aktiven Logins verwalten.

Die Vorgaben der GDPR haben insgesamt sehr viel Einfluss genommen. So hat das Forum bislang ungefragt Cookies gesetzt, die das Forum jedoch benötigt hatte, um beispielsweise den letzten Besuch anzuzeigen und so Beiträge zu markieren, die neu waren. Dies haben wir so umgestellt, dass wir dafür keine Cookies mehr benötigen, sondern in der Datenbank am Benutzer gespeichert wird, sodass dies auch den Nebeneffekt hat, dass dies Geräteübergreifend funktioniert.
Der Nachteil ist, dass Leser, die nicht angemeldet sind, aktuell keine visuelle Darstellung erhalten können, was neu ist und was nicht. Hier suchen wir noch nach einer Lösung.
myCSharp hat bislang keinerlei Tracking von Lesern durchgeführt und wir werden das auch in Zukunft nicht tun. Alle Angaben sind und bleiben freiwillig und wir setzen nur systemrelevante Cookies.

Das Forum bietet aktuell im Grunde die gleiche Funktionalität an, wobei der Editor etwas überarbeitet wurde.
Neu ist, dass mehrere Anhänge an einen Forenpost gehängt werden können, was das Datenbank-Design der PHP-Variante nicht ermöglicht hatte: es war eine 1-1 Beziehung zwischen Beitrag und Anhang. Mir nicht klar, warum das damals so gewählt wurde.

Ebenfalls anders ist, dass Beiträge in Zukunft nur noch innerhalb eines gewissen Zeitraums editieren werden können, der derzeit 30 Minuten beträgt. Der Zeitraum ist nicht fix; wir müssen auch lernen, welcher Zeitraum hier sinnvoll ist.
Der Grund ist, dass in der Vergangenheit zu oft der Kontext selbst nach Wochen editiert wurde, sodass der Verlauf eines Themas nur noch schwer nachvollzogen werden konnte. Auch kam es leider ab und zu vor, dass Themenstarter alle Beiträge mit "xxxx" gefüllt haben. Wir können zwar die Beiträge jederzeit wiederherstellen; aber das muss einfach nicht sein.
Das macht ein Forum kaputt und können wir nicht dulden.

Syntax-Highlighting wird in Zukunft mit dem Projekt PrismJS visualisiert, das nicht nur C# Code, sondern sehr viel mehr Sprachen unterstützt. Die wichtigsten Sprachen in diesem Forum (C#, XAML, SQL, XML, Json..) könnt ihr in Zukunft direkt im Editor auswählen. Für alle anderen Sprachen steht weiterhin der "Code"-Button zur Verfügung.
Die Farben des Highlightings sind noch nicht final.

Was wird.

Wir sehen myCSharp nicht mehr nur als Forum, sondern als allgemeine Plattform für C#. Das Forum ist und bleibt der Kern, aber wir werden auch neue Elemente bringen.
Daher sprechen wir auch intern vom myCSharp Portal. Die neue Plattform ist sehr sehr viel performanter und modularer, ermöglicht uns in Zukunft viele neue Ideen und Wünsche umzusetzen. Wir können mit der neuen .NET Plattform bei identischen Ressourcen mehr als vierzig mal mehr Requests pro Sekunde beantworten, wobei die Antwortenzeiten mehr als halbiert wurden.

Wir wollen selbst, dass besonders die UI moderner wird; mir selbst fehlt hier jedoch einfach die Kenntnis und insgesamt dem Team aktuell etwas die Zeit.
Eine neue Oberfläche wird kommen. Angefangen haben wir damit, dass wir erste Dinge barrierefrei gestaltet haben und Bilder und Icons durch Unicode-Darstellungen ersetzt haben, sodass der Browser hier keine unnötigen Inhalte extra jedes Mal laden muss und so das Ladeverhalten der Webseite insgesamt viel besser sein wird.
Bedingt durch den Mix sieht das ein oder andere aktuell etwas komisch aus...

Für den Forenbereich planen wir vor allem Verbesserungen rund um den Editor, sowie die Möglichkeiten Beiträge zu bewerten und inhaltlich als Lösung zu markieren.
Dies ist nicht nur besser für die Leser und für die Beiträge; die Suchmaschinen drängen uns auch in die Richtung, da bei Foren die Bewertung von Inhalten mit in die SEO-Bewertung fließt.
Die Forensuche soll ebenfalls vereinfacht und verbessert werden.

Inhaltlich wollen wir auch das Thema .NET/C# "Lernen" zentralisieren; eventuell durch einen eigenen Learning/Tutorial-Bereich und auch den Artikeln eine bessere Gewichtung geben. Wie genau das aussehen wird, das wissen wir noch nicht.
Das Thema Community und Möglichkeiten der Vernetzung wollen wir ebenfalls intensivieren; auch hier die Umsetzung eher unbekannt.

Der Wunsch nach Snippets kommt jeden Tag erneut, spätestens wenn jemand im Forum nach einem Beispiel fragt.
Auch diesen Bereich planen wir derzeit.

Die gemeinsame Zukunft.

myCSharp ist ein Community-Projekt, daher nehmen wir aber auch sehr gerne eure Wünsche und Ideen entgegen, um diese in die Weiterentwicklung fließen zu lassen. Bei einigen Dingen erhoffen wir auch, dass die Community hier aktiv mitmacht und Inhalte mit gestaltet.
Wir werden daher ein paar Ideen vorstellen, wie es leichter sein könnte, Inhalte von euch für die Community zu erstellen; vielleicht ein Blog, der entsprechend durch die Reichweite gelesen werden kann, vielleicht Artikel. Wir werden es sehen und wollen mit euch und für euch Inhalte gestalten.

Bugs aka Work in Progress

Ja. Diese Bugs.

Wir müssen unsere Software im produktiven Betrieb auch erst mal kennenlernen. Wir haben so viel wie möglich getestet, aber wir werden sicherlich nicht alle Bugs gefunden haben. Die Azure Plattform bietet, getrieben durch automatische Analysen und Performance-Wizards in den Produkten Application Insights und der Datenbank uns sehr viele Möglichkeiten, wie wir unsere Software überwachen und effizienter gestalten können.
Wenn euch jedoch ein Bug auffällt, dann meldet euch bitte direkt bei einem Team-Mitglied, sodass wir die Bugs zentral sammeln und beheben können.

Bekannte Bugs und offene Punkte siehe Sammelthema Wünsche und Bugreports myCSharp

Wir haben nun die Möglichkeit einzelne Bereiche von myCSharp gezielt mit Hilfe von Feature Flags zu aktivieren/deaktivieren.
Wenn mal etwas deaktiviert ist, dann haben wir wahrscheinlich einen Bug gefunden, der dann so schnell wie möglich behoben wird.
Bitte hier um Verständnis 🙂


Mein persönlicher, besonderer Dank...

Zunächst mal wollen wir nicht vergessen, dass Jack das Forum jahrelang betrieben hat; daher entsprechend einen Dank an ihn. Auch einen großen Dank an herbivore, der Jahrelang das Herz des Forums war und mit seinen über 40.000 Beiträgen(!) maßgeblich zum Inhalt des Forums beigetragen hat. Auch ein Dank an alle Mods, Experten und Mitglieder sowie Leser, die die letzten 18 Jahre das Forum zu dem gemacht haben, das es heute ist.

Aus meiner Sicht während der Entwicklung des neuen Forums geht ein besonders großer Dank an gfoidl, der sich sehr flexibel die Zeit genommen hat tausende Zeilen an Code von mir in über 200 Pull Requests, die teilweise viel viel zu umfangreich waren, zu überprüfen und Fehler zu finden, die noch so versteckjt waren.
gfoidl hat jedoch nicht nur Pull Requests überprüft, sondern mit seinem extrem extrem tiefen Verständnis von .NET, Runtime-Executions und Co zu enormen Performance-Fortschritten und Verbesserungen beigetragen. Viele Verbesserungen und Umsetzungen waren mir selbst nach über 19 Jahren .NET neu oder unklar. Ich habe oft nachfragen müssen, was sein Code eigentlich macht und warum er besser ist. Er hat hier Spezial-Wissen mit in die Entwicklung gebracht, das wirklich nur <0.01% der .NET Experten mitbringen.

Die Zusammenarbeit mit Gü während der Forenentwicklung hat mir viel Spaß gemacht, ich konnte viel von ihm lernen!
Danke Gü!

Danke an Fabian aka Coffeebean, der mir vor allem privat bei vielen Dingen geholfen hat! Danke an Papst, der das Image-Resize Feature der Avatare umgesetzt und ebenfalls zu einigen Code-Reviews beigetragen hat sowie an MrSparkle, der auch fleissig getestet und Feedback gegeben hat!
Ein weiterer Dank geht an William Durkin, der hier vermutlich eher unbekannt ist; den ich die letzten Jahre durch die Microsoft Community kennenlernen durfte. William gehört zu den besten SQL Beratern, ist ein sehr bekannter SQL Buch-Autor sowie Community-Speaker und hat uns in seiner privaten Zeit dabei geholfen die Datenbank zu gestalten und die Performance zu optimieren.


Daher vielen Dank an alle, vielen Dank an alle, die mitgeholfen haben und myCSharp mit Leben füllen!

Viel Spaß auf der neuen Plattform!

49.485 Beiträge seit 2005
vor 3 Jahren

Hallo Abt,

Gratulation an dich und alle, die bei der neuen Forensoftware mitentwickelt und geholfen haben!

Natürlich schwingt auch etwas Wehmut mit, dass die alte Forensoftware, in die ich so viele Features - wenn auch die meisten Quick&Drity - eingebaut hatte, nun in Rente ist. Natürlich kann ich die Notwendigkeit gänzlich nachvollziehen. Ich freue mich, dass viele von "meinen" Features in die neue Software übernommen wurden. Und das diese Features - so wie ich es in deinem Text verstanden habe - sogar der Grund für die Eigenentwicklung waren.

Neu ist, dass mehrere Anhänge an einen Forenpost gehängt werden können, was das Datenbank-Design der PHP-Variante nicht ermöglicht hatte: es war eine 1-1 Beziehung zwischen Beitrag und Anhang. Mir nicht klar, warum das damals so gewählt wurde.

Die Entwicklung von wbb2 war damals einfach noch nicht so weit. In einer wenig später erschienenen wbb2-Version waren auch mehrere Anhänge möglich. Leider waren da schon so viele eigene Features direkt in den wbb2-Code eingebaut (Quick&Dirty eben), dass ein Wechsel auf eine höhere wbb2-Version nicht mehr mit vertretbarem Aufwand möglich war. Ich hätte mir mehrere Anhänge auch schon seit langem gewünscht.

Ebenfalls anders ist, dass Beiträge in Zukunft nur noch innerhalb eines gewissen Zeitraums editieren werden können, der derzeit 30 Minuten beträgt.

Das wäre für mich und andere Poweruser, die auch nach Jahren noch ihre Beiträge zum Nutzen der Community aktualisieren, wie zuletzt in Links zu (früherem) OpenBook Visual C# in einem FAQ-Beitrag funktionieren nicht mehr (bzw. in den dort verlinkten Beiträgen) geschehen, richtig schlimm. Daher hoffe ich, dass es zumindest für Poweruser eine Ausnahme gibt. Diese gehen mit ihren zusätzlichen Rechten auch bisher schon sehr verantwortungsvoll um.

herbivore

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

Danke herbivore 😉

Daher hoffe ich, dass es zumindest für Poweruser eine Ausnahme gibt. Diese gehen mit ihren zusätzlichen Rechten auch bisher schon sehr verantwortungsvoll um.

Für Poweruser gilt das Limit nicht, richtig.
Das Limit wird auch für weitere Benutzergruppen, die wir noch schaffen wollen, nicht gelten; zB. für Artikelschreiber, sodass Artikel entsprechend dauerhaft aktualisiert werden können.

T
2.219 Beiträge seit 2008
vor 3 Jahren

Auch von mir vielen Dank an alle beteiligten und Glückwünsche für die Umsetzung.
Mich wundert der Performance Sprung nicht, da gerade alte PHP Versionen wie PHP 5 zu den heutigen Versionen vergleichen langsam war.
Hier gab es auch erst in den letzten Jahren wieder Verbesserungen, die dürften hier aber noch nicht gegriffen haben oder?

Ansonsten bin ich auch froh, dass die Abhängigkeit von der alten Forensoftware wegfällt.
Dies dürfte auch mehr flexibilität bieten als eine Abhängigkeit von einer einmalig erworbenen und installierten Version.

Aber gerade den Sprung auf eine eigene Platform auf .NET Basis finde ich bemerkenswert.
Gerade was die Performance Unterschiede und Lasten im Hintergrund angeht, sind die Zahlen schon beachtlich.

Ich freue mich auf weitere Jahre mit guten Beiträgen und geteiltem Know-How im .NET Bereich.

Nachtrag:
Was ich auch bemerkenswert finde ist, dass ihr alle Beiträge und Informationen des alten Boards übernommen habt.
Gerade bei uralten Versionen ist es meistens schwierig und auch durch Eigenheiten in den Strukturen, diese ohne weiteres zu übernehmen.
Hattet ihr hier viel Aufwand oder waren die Strukturen im alten Forum relativ klar und einfach?

Nachtrag 2:
Gibt es auch noch ein paar Details wie der ganzen Entwicklungsprozess bei euch aussieht?
Würde mich sehr interessieren welche Tools/Build Systeme etc. bei euch zum Einsatz kamen.

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.

309 Beiträge seit 2020
vor 3 Jahren

Na endlich kann ich mit zwei Geräten eingeloggt bleiben 😁

Wie finanziert sich das hier eigentlich? Privat von euch, Spenden?

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

Danke, T-Virus.

Mich wundert der Performance Sprung nicht, da gerade alte PHP Versionen wie PHP 5 zu den heutigen Versionen vergleichen langsam war.
Hier gab es auch erst in den letzten Jahren wieder Verbesserungen, die dürften hier aber noch nicht gegriffen haben oder?

Man merkt leider den Sprung noch gar nicht so 🙂
Grund ist, dass CloudFlare aktuell nen bisschen bremst, weiß noch nicht wieso.

Wenn ich das Forum ohne CF bediene ist es wahnsinnig schnell, als ob ich eine statische Seite aufrufen würde. Die Antwortzeiten auf Azure-Seite sind derzeit unter 69ms für 95%und unter 90ms für 99% der Requests.
Leider dauert das Time to first byte zu CloudFlare aktuell ~600ms, weshalb das Forum langsamer ist, als es eigentlich sein sollte.

Die Performance des alten Forums lag weniger an PHP als am Code selbst.
Und insgesamt ist .NET halt ein Vielfaches schneller als PHP.

Hattet ihr hier viel Aufwand oder waren die Strukturen im alten Forum relativ klar und einfach?

Wir haben nach dem Bottom Up Prinzip entwickelt, da der Datenbestand ja da war.
Das alte Forum hatte halt keinerlei Beziehungen im Datenbankschema, alles war damals irgendwie händisch. Dadurch sind an einigen Stellen durchaus Fehler in den Redundanzen entstanden (weshalb das alte Forum zum Beispiel nicht so einfach Benutzer löschen konnte).

Daher: ja, alles eine händische Mirgation mit einer Konsolenanwendung.

Gibt es auch noch ein paar Details wie der ganzen Entwicklungsprozess bei euch aussieht?

Es wird zunächst mal zwei Artikel geben:

  • Die Infrastruktur von myCSharp
  • Die Software Architektur von myCSharp

Wird die nächsten Tage kommen.

Wie finanziert sich das hier eigentlich? Privat von euch, Spenden?

Aktuell aus meiner Tasche.
Bezüglich spenden: MyCSharp.de - Spenden

656 Beiträge seit 2008
vor 3 Jahren

Kuhle Sache - vor allem das ellen-lange Write-Up, ich find solche Posts/Artikel/whatever immer geil, wenn man mehr über (s)eine Plattform erfährt 👍

Eine Kleinigkeit gäbe es von mir: ich war bisher immer in der Kategorie "Entwicklung" unterwegs, was beim wbb2 nur die jeweiligen Foren unterhalb angezeigt hat - und die Funktion gibts aktuell (noch) nicht.

T
708 Beiträge seit 2008
vor 3 Jahren

Vielen Dank an alle Mitwirkenden für die intensiven zwei Jahre Arbeit!

H
523 Beiträge seit 2008
vor 3 Jahren

Vielen Dank für die Arbeit und Zeit die Ihr in das Projekt investiert 🙂

M
367 Beiträge seit 2006
vor 3 Jahren

(Auf die Schnelle) Bug oder Feature ?
-auf der Startseite erscheinen bei "Bücher" Beiträge aus der Kategorie "Jobbörse"
-auf Nutzerseite kann man aktuell nicht entscheiden ob die Signatur auch angezeigt werden soll (ist nur ein optisches Problem. Kann aber stören, wenn die Signatur mehr Platz einnimmt als der eigentliche Beitrag...)

Goalkicker.com // DNC Magazine for .NET Developers // .NET Blogs zum Folgen
Software is like cathedrals: first we build them, then we pray 😉

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

Danke zusammen.

ich war bisher immer in der Kategorie "Entwicklung" unterwegs, was beim wbb2 nur die jeweiligen Foren unterhalb angezeigt hat - und die Funktion gibts aktuell (noch) nicht.

Das "Verstecken" von Bereichen haben nicht mal 1% der aktiven Benutzer verwendet. Daher ist das aktuell nicht drin.

auf der Startseite erscheinen bei "Bücher" Beiträge aus der Kategorie "Jobbörse"

Oh, da müssen wir noch den Titel anpassen.
In Zukunft wird man hier auch was anderes sehen 😉

auf Nutzerseite kann man aktuell nicht entscheiden ob die Signatur auch angezeigt werden soll

Ja, die Signaturen sieht aktuell jeder - auch Gäste.
Kommt noch in die Optionen rein. Danke für den Hinweis.

P
441 Beiträge seit 2014
vor 3 Jahren

Es ist der Wahnsinn, was Abt und gfoidl da die letzten Wochen auf die Beine gestellt haben und das ganze unentgeltlich und in Ihrer Freizeit!
Meinen größten Respekt!

S
248 Beiträge seit 2008
vor 3 Jahren

Vielen Dank für die Mühen und die investierte Zeit. Das ist nicht selbstverständlich. 👍
Dem Team und allen Anderen alles Gute und bleibt gesund.

49.485 Beiträge seit 2005
vor 3 Jahren

Hallo Abt,

ich war bisher immer in der Kategorie "Entwicklung" unterwegs, was beim wbb2 nur die jeweiligen Foren unterhalb angezeigt hat - und die Funktion gibts aktuell (noch) nicht.

ich glaube BhaaL meint nicht das Verstecken, sondern dass die Forenkategorien (z.B. Entwicklung, Knowledge Base, Gemeinschaft) früher klickbar waren, und dann eine Seite mit eben nur den Foren der jeweiligen Kategorie angezeigt wurde. Also wir die Forenübersicht, aber eben nur für die jeweilige Kategorie.

Das "Verstecken" von Bereichen haben nicht mal 1% der aktiven Benutzer verwendet. Daher ist das aktuell nicht drin.

Wenn das eine Prozent gerade die besonders aktiven Nutzer sind, ist auch ein Prozent ein relevanter Anteil, da es vermutlich auch nur 1% besonders aktive Benutzer gibt. Oder anderesherum: Es gibt Massen an Benutzern ganz ohne Beiträge (oder mit nur 1 oder 2), die den Prozentsatz bzw. die Aussagekraft einer Prozentangabe verwässern.

Ich kann ohne das Ausblenden leben, aber schön/angenehmer war es schon.

herbivore

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

ich glaube BhaaL meint nicht das Verstecken, sondern dass die Forenkategorien (z.B. Entwicklung, Knowledge Base, Gemeinschaft) früher klickbar waren, und dann eine Seite mit eben nur den Foren der jeweiligen Kategorie angezeigt wurde.

Ah okay.

Es gibt Massen an Benutzern ganz ohne Beiträge (oder mit nur 1 oder 2), die den Prozentsatz bzw. die Aussagekraft einer Prozentangabe verwässern.

Daher hab ich geschrieben 1% der aktiven User und nicht 1% der User 😉

3.170 Beiträge seit 2006
vor 3 Jahren

Hallo zusammen,

ich möchte mich in die Liste der Gratulanten einreihen und auch meinen herzlichen Dank aussprechen.
Es ist schon beeindruckend, was das Entwicklungsteam der neuen Software hier geleistet hat. Meinen größten Respekt dafür! 👍
Ihr habt myCSharp.de auf eine zukunftssichere Basis gestellt, und ich finde es super, dass diese jetzt auch .NET ist.
Ich bin gespannt, wie sich die neue Plattform entwickelt.

Alles in allem - weiter so!!

Gruß,
MarsStein

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

656 Beiträge seit 2008
vor 3 Jahren

ich war bisher immer in der Kategorie "Entwicklung" unterwegs, was beim wbb2 nur die jeweiligen Foren unterhalb angezeigt hat - und die Funktion gibts aktuell (noch) nicht.
ich glaube BhaaL meint nicht das Verstecken, sondern dass die Forenkategorien (z.B. Entwicklung, Knowledge Base, Gemeinschaft) früher klickbar waren, und dann eine Seite mit eben nur den Foren der jeweiligen Kategorie angezeigt wurde. Also wir die Forenübersicht, aber eben nur für die jeweilige Kategorie.

Richtig 🙂
Ich wusste bis grade eben gar nicht, dass verstecken auch eine Option war 😁

B
357 Beiträge seit 2010
vor 3 Jahren

Herzlichen Glückwunsch an die Entwicklung und Respekt für die viele Arbeit!

5.941 Beiträge seit 2005
vor 3 Jahren

Hallo zusammen

Ist super geworden!
Könnte man den Button zum erstellen eines Themas sichtbarer machen, evtl. blau wie hier bei "Antwort erstellen"?
Ich habe den Button fast nicht gefunden 😕

Vielen Dank für euer Engangement!

Grüsse Peter

--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

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

Wie versprochen: der Artikel zur Infrastruktur von myCSharp ist nun online
Die myCSharp.de Infrastruktur

476 Beiträge seit 2004
vor 3 Jahren

Auch von mir ein herzlichen Glückwunsch für die tolle Arbeit!

-yellow

Selbst ein Weg von tausend Meilen beginnt mit einem Schritt (chinesisches Sprichwort).

Mein Blog: Yellow's Blog auf sqlgut.de

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

Schön mal wieder was von Dir zu lesen, Yellow 😉

6.910 Beiträge seit 2009
vor 3 Jahren

Hallo zusammen,

endlich finde ich auch die Zeit um ein paar Worte dazu schreiben zu können.

Als ich mich aktiv an der Entwicklung beteiligte war das Projekt schon sehr fortgeschrittenn und dementsprechend auch groß. Das Zurechtfinden innerhalb des Projekts war jedoch wider meines Erwartens relativ einfach, da Abt in Bezug auf Archtitektur, Muster, etc. großen Wert legt(e) und daher so gut wie alles klar und sauber strukturiert war / ist.

Die Zusammenarbeit an diesem Projekt, die ja nach wievor voranschreitet, hat mir einfach Spass und Freude bereitet. Da ich beruflich nur On Premises unterwegs bin, konnte ich für mich neue Möglichkeiten erkunden und erforschen und dabei auf Abts Wissen und Unterstützung zurückgreifen. Danke Ben!

Wie bereits erwähnt wurde, ging jede Änderung via Pull Requests (PRs). Dabei hatten wir etliche konstruktive Diskussionen wie und ob wir etwas noch besser machen könnten. Manchmal wurden bestimmten Ideen zeitlich nach hinten verschoben, damit ein Feature erstmal produktiv werden kann und die Verbesserungen später durchgeführt werden können. Das ein od. andere mal mussten wir uns auch gegenseitig vor der "over engineering"-Falle bremsen 😉 und in anderen Punkten waren wir wohl beide ziemlich gleich stur 🙂 (haben aber immer eine vernüftige Lösung gefunden).

Interessant und spanned ist der Punkt an dem ein Projekt "live" geht immer, hier war es für mich aber besonders interessant, da im "Versuchs-Forum" die Last gering war und dort alle unserer Ziele / Features funktionierten. Im "Live-Forum" mit vielen Benutzer und gleichzeitigen Zugriffen tauchten dann ein paar latente Bugs auf, die meisten ließen sich auf Race-Bedingungen in Zusammenhang mit dem ThreadPool zurückführen, da dieser nun wesentlich mehr Task zu verarbeiten hat als im Versuchs-Forum (so z.B. das Versenden der Emails). (Anmerkung: dies Bugs sind alle behoben).

Es wurde bereits erwähnt, dass wir überlegen bestimmte Teile vom Foren-Code zu veröffentlichen und ein paar Artikel über unsere Erkenntnisse (siehe vorhin) und Muster sowie Tipps und Tricks die wir angewandt haben zu erstellen.
Aber da wir all dies in unserer Freizeit machen, können wir keine verbindliche Zusage zu Terminen machen. Wenns etwas zu veröffentlichen gibt, so werden ihr das schon mitbekommen 🙂

In diesem Sinne wünsche ich euch viel Spass am neuen Forum!

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"