Page 1 of 1

Update für Nachrichtensystem?

PostPosted: 24.08.2011, 00:32
by biojazzical
Habe letztes WE Collabtive für Test mit 2 anderen Usern installiert, um zu klären, ob wir für ein Projekt mit 10-15 usern Collabtive nutzen möchten.
Dabei wurden folgende Wünsche für das Nachrichtensystem geäußert:

1) Klickt man oben auf Arbeitsplatz, erhält man im Arbeitsplatz ganz unten die Übersicht "Meine Nachrichten". Es wird dort nach Projekten und Erstnachrichten sortiert.
Man kann dort nicht ersehen, in welcher Nachricht zuletzt eine Antwort geschrieben wurde. Dient also eigentlich nur zur Gesamtansicht an welchen Nachrichten man beteiligt ist.
-> -> -> Schöner wäre es, wie hier im Forum eine Sortierung nach aktuellestem Eintrag zu haben, also inklusive der Antworten.

2) Arbeitet man auch ohne E-Mail Benachrichtigungen wird es schwer die Antwort, auf die man Antworten möchte, zu finden. Dies gerade, weil man gezwungen ist, bei jeder Antwort einen neuen Titel einzugeben. (Zwischenlösung zur besseren Übersicht, immer den Titel der Originalnachricht bei Antworten als neuen Titel eingeben).
-> -> -> Schöner wäre es, wenn man den Titel nicht jedesmal eingeben müsste, trägt man nichts ein, wird der Titel auf den man antwortet verwendet. Option für neue Eingabe des Titels sollte aber möglich sein.

3) Klickt man vom Arbeitsplatz aus ein Projekt an, erhält man in der Projektübersicht unten die Aktivitätenliste. Dort kann man leider die einzelnen Aktionen (neue Nachrichten, Antworten, Aufgaben, Milestones) nicht per klick aufrufen.
-> -> -> Schöner wäre es, diese eben per klick aufrufen zu können.

4) Klickt man in einer Projektübersicht auf den Tab Nachrichten, erhält man eine Übersicht über die Nachrichten, die nach Erstellungsdatum der Erstnachricht sortiert ist. Sucht man eine aktuelle Antwort, muss man sich komplett durchklicken?
-> -> -> Schöner wäre es, wie hier im Forum eine Sortierung nach aktuellestem Eintrag antichronologisch/descending zu haben, also Sortierung inklusive der Antworten.

5) Klickt man auf eine Nachricht, erhält man zu erst die Originalnachricht und unten zugeklappt die Antworten.
-> -> -> Schöner wäre es, wie hier im Forum eine Sortierung komplett aufgeklappt und auch wieder nach aktuellester Antwort antichronologisch/descending zu haben.

Lieber Philipp, was meinst du? und natürlich die anderen auch.

Re: Update für Nachrichtensystem?

PostPosted: 26.08.2011, 17:16
by alx
Lösungsmöglichkeiten:
1) $sel1 = mysql_query("SELECT b.ID, (SELECT MAX(posted) FROM messages a WHERE (a.id=b.id) OR (a.replyto=b.id)) lastanswer FROM messages b WHERE project = $project AND replyto = 0 ORDER BY lastanswer DESC"); in getProjectMessages in class.messages.php
2) Im replyform.tpl beim title-Inputfeld value="Re: {$message.title}" ergänzen
3) geht nicht einfach, weil in der log-Tabelle keine IDs der jeweiligen Einträge sind, auf die man linken könnte
4) siehe 1
5) im message.tpl die accordion-divs an der Stelle auskommentieren

Allgemein betrachtet ist 1 und 4 für den Benutzer eher unlogisch, weil die Antworten nicht mit angezeigt werden. Wenn man umsortiert, sollte er dann auch die dazugehörigen Antworten mit anzeigen, damit die Sortierung logisch ist.
2 ist man von vielen Mailprogrammen so gewohnt, wäre nett, wenn man das einbauen könnte. 3 wäre sehr schön, weil man eben von der Aktivitätenliste zur entsprechenden Aktivität springen könnte, erfordert aber komplexe Änderungen, da die ID entsprechend jeweils mit gespeichert werden muss, um einen direkten Link ausgeben zu können. 5 könnte ich mir eher als benutzerspezifische Einstellung vorstellen, ob immer alle Antworten gezeigt werden oder nicht.

Re: Update für Nachrichtensystem?

PostPosted: 27.08.2011, 19:19
by biojazzical
Super und vielen Dank ALX, hat bis auf 3 alles geklappt und funktioniert gut!

Re: Update für Nachrichtensystem?

PostPosted: 20.07.2013, 00:23
by Eva
2 ist man von vielen Mailprogrammen so gewohnt, wäre nett, wenn man das einbauen könnte.


Wird in Collabtive 1.1 dabei sein. Danke! :)

Re: Update für Nachrichtensystem?

PostPosted: 18.04.2014, 18:21
by micha
Möchte hier gern nochmal für Punkt 3) plädieren.
Gerade bei etwas komplizierter gearteten Projekten wäre es schon toll, wenn man gleich mit schnellem Klick aus der Aktivitäten-Liste direkt zur entsprechenden Abteilung/Aktion gelangen würde.

Was brauchts:
- eine Spalte mehr in der Log Tabelle für die jeweilige Aktions-ID
- Übergabe der ID bei beim mylog->add (bei add und edit) in den Klassen
- Löschen aller zugehörigen Add und Edit Logzeilen, sofern die Aktion selbst gelöscht wird
- entsprechende Logik Verdrahtung in log.tpl, damit Add- und Edit Einträge anklickbare Links bekommen

bei der Gelegenheit:
ein Löschkreuzchen hinter jeden Log-Eintrag. Gerade in der Anfangsphase, wo man dies und das probiert, wär's nicht schlecht, wenn man solche Einträge wieder löschen könnte, ohne erst in die Datenbank gehen zu müssen.

Klar, das ist schon Fleißarbeit. Wenn's sonst keiner macht, setz ich mich zum Winter da mal dran. ;)

Re: Update für Nachrichtensystem?

PostPosted: 18.04.2014, 21:03
by micha
Na gut, vorab als kleiner appetizer schon mal ein erster Ansatz des Löschkreuzes :)

Collabtive 1.2 -> standard template
In log.tpl Zeile 98
Code: Select all
<td class="tools"></td>

ersetzen durch
Code: Select all
<td class="tools">
{if $userpermissions.admin.add}
<a class="tool_del" href="javascript:confirmfunction('{#confirmdel#}','deleteElement(\'log_{$log[logitem].ID}\',\'managelog.php?action=del&amp;logid={$log[logitem].ID}\')');"  title="{#delete#}"></a>
{/if}
</td>


Dann ganz oben an den Anfang des Templates
Code: Select all
{literal}

<script type = "text/javascript">
//endcolor for delete element flashing
deleteEndcolor = '#c62424';
</script>
<script type = "text/javascript" src = "include/js/ajax.php" ></script>

{/literal}


Nun noch die Methode dazu (speichern bei den andern Managern) als "managelog.php"
Code: Select all
<?php
require("./init.php");
$logobj = new mylog();

$action = getArrayVal($_GET, "action");
$logid = getArrayVal($_GET, "logid");

if ($action == "del") {
    // check if user has appropriate permissions
    if (!$userpermissions["admin"]["add"]) {
        $errtxt = $langfile["nopermission"];
        $noperm = $langfile["accessdenied"];
        $template->assign("errortext", "<h2>$errtxt</h2><br>$noperm");
        $template->display("error.tpl");
        die();
    }
    if ($logobj->del($logid)) {
        echo "ok";
    } else {
        $template->assign("dellog", 0);
    }
}

Hab's erstmal an die "Admin" permission drangehängt, denke da ist es ganz gut aufgehoben...