Zum Inhalt springen

Datenbankmodel für ein einfaches Kommunikationssystem


sugarray21

Empfohlene Beiträge

Hallo zusammen,

ich muss ein einfaches Kommunikationssystem auf die Beine stelle.

Dabei fällt mir, aus Mangel an Erfahrung, keine elegante Lösung ein

Es geht darum das User untereinander Privatnachrichten austauschen können.

ich dachte zuerst an (Ruby on Rails Code):

 create_table "messages", :force => true do |t|

t.column "subject", :string, :limit => 50, :default => "", :null => false

t.column "body", :text, :default => "", :null => false

t.column "created_at", :date, :null => false

t.column "author_id", :integer, :default => 0, :null => false

t.column "recipient_id", :integer, :default => 0, :null => false

end

und dann könnte man die gleiche Nachricht beim Absender in der Outbox und beim Empfänger in der Inbox anzeigen.

Doch was soll man machen wenn die Nachricht gelöscht wird?

Ist diese "Lösung" ok?

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich dache, es wäre schon fast klar. im prinzip so wie es in einem forum/community portal funktioniert. Es sollte dem User möglich sein eine Privatnachricht an einen anderen zu sehen. das wärs! es kommen noch anderen Sachen dazu aber die mach ich alleine. nur hierbei fällt mir nicht gescheites ein. vielleicht geht das aber auch nicht viel besser.

meine jetzige Lösung:

t.column :subject, :string, :limit => 50, :default => "", :null => false

t.column :body, :text, :default => "", :null => false

t.column :created_at, :date, :null => false

t.column :author_id, :integer, :null => false, :default => 0

t.column :recipient_id, :integer, :null => false, :default => 0

t.column :a_del, :boolean, :default => false

t.column :r_del, :boolean, :default => false

t.column :r_read, :boolean, :default => false

damit kann ich sehen ob beide die nachricht gelöscht haben und der Empfänger sie bereits gelesen hat.

Link zu diesem Kommentar
Auf anderen Seiten teilen

das ist ja gut und schön, aber wo werden die informationen deiner user festgehalten? author_id und recipient_id werden ja nicht aus dem nirvana auftauchen, sondern wohl in einer anderen tabelle vorgehalten. sieh dir mal foren-/communitysysteme (wie z.b. das hier verwendete vbulletin oder ein phpbb) an.

s'Amstel

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo

der Ansatz die Stati über Booleanflags zu realisieren ist auf jeden Fall besser als ein physisches Löschen.

In welchem Rahmen soll den dieses Kommunikationssystem eingesetzt werden ?

Innerhalb eines Intranets (z.B. firmenintern) oder im Internet ?

Mindestens bei der 2. Variante solltest du dir auch auch genau überlegen, wie du die I18n realisierst.

Außerdem: Soll dein Subject auf 50 Zeichen limitiert sein ?

Gruß Martin

Link zu diesem Kommentar
Auf anderen Seiten teilen

hallo zusammen! danke für die rege Anteilnahme!

Amstelchen

natürlich habe ich eine User Tabelle aus der die IDs kommen.

ich dachte aber dass man so was voraussetzen würde.

phpbb habe ich mir schon angeschaut, bin aber nicht wirklich schlauer geworden

da es dort etwas zu kompliziert gehalten wird. vielleicht gibt es eine Doku dazu?

MartinSt

nach 2 gesetzten Booleans wird die Nachricht physikalisch gelöscht.

so habe ich mir zumindest vorgestellt.

I18n ist natürlich auch wichtig nur weiß ich noch nicht wie man so ein Problem angeht.

"Subject auf 50 Zeichen limitiert" etwa nicht genug?

Gruß an alle!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin,

dein Thema für diesen Thread würde z.B. schon die 50 Zeichen des Subjects überschreiten. ;-)

Wenn die Bestimmungen des TK-Gesetzes zutreffen, ist innerhalb von 6 Monaten nix mit physischem Löschen, sonst gibts Mecker vom Schäuble. :(

Bei der I18n wäre ein Ansatz, mit UTF-8-codierten Strings und UTC-Zeiten zu arbeiten.

Gruß Martin

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...