Wenn Sie Funktionen hinzufügen müssen, sollten Sie eine Plugin oder eine Theme-Komponente erstellen und nicht Discourse forken.
Das können Sie in einer Theme-Komponente tun, sodass Sie dafür kein Plugin benötigen. Wenn Sie jedoch ein Plugin erstellen, können Sie die Frontend-Änderungen auch in das Plugin aufnehmen. Developing Discourse Plugins - Part 1 - Create a basic plugin. Die Suche nach Plugins, die ähnliche Funktionalitäten hinzufügen, ist ebenfalls ein guter Ansatz. Es gibt ein Discourse-Repository namens all-the-plugins, das Sie verwenden können, um nach Beispielen zu suchen.
Das Vorhandensein von öffentlichen vs. privaten Versionen dieser Felder, wie vorgeschlagen, scheint eine gute Lösung zu sein. Sie können jedoch auch Benutzerfelder in einem Plugin hinzufügen und steuern, wie und ob diese Felder zum Serializer hinzugefügt werden, um sie anzuzeigen.
Dies ist das, was Theme-Komponenten tun. Theme Developer Quick Reference Guide könnte ein Anfang sein.