Index: openacs-4/packages/tlf-assignments/README
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/README,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/README	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,109 @@
+# TLF Assignments for .LRN
+
+This is a dotlrn applet providing functionality for conducting and
+evaluating assignments.  It has been used for university classes at WU
+Vienna for more than 10 years.  Message keys for this package are
+provided in English and German.
+
+
+## Dependencies
+This package requires dotlrn, xowiki and xowf and depends on ckeditor4
+for richtext editing widgets.
+
+
+## Installation
+This application requires hstore for postgresql. Without hstore, the
+installation will fail.
+
+The following command shows an example how hstore can be set
+up. Alternatively, one can connect to the database in the psql shell
+and type the command in the last argument.
+
+```bash
+$/usr/bin/psql -U nsadmin -d "oacs-5-10" -tAc "create extension hstore"
+```
+
+If you don't have xowiki installed, your instance should now be set up
+after a restart.
+
+If you already have xowiki installed, you need to make the following
+adjustments to update the relevant views of xowiki with the following
+tcl commands after a restart (copying them to the ACS developer
+support in ds/shell is encouraged):
+
+```tcl
+::xo::db::sql::content_type refresh_view -content_type ::xowiki::PageInstance
+::xo::db::sql::content_type refresh_view -content_type ::xowiki::FormPage
+::xo::dc dml drop-view "drop view xowiki_form_instance_item_view"
+```
+
+After another restart, xowiki will be ready to use hstore.
+
+
+## First Steps
+
+- Navigate to Admin -> "Manage Applets" of your dotlrn community.
+- Search for "Assignments" in the "Applets To Add" list.
+- Click "add".
+
+->Your Community Home page shows the assignments portlet with links to
+  the application. Note that the portlet will only be visible to
+  members of this community.
+
+To create your first assignment:
+- Follow the link in the Assignments portlet on your Community Home page.
+- In the menu, select New -> Assignment
+- Complete the form, click Continue
+- Specify assignment recipients. This setting defaults to all
+  registered members of the current community. Alternatively,
+  recipients can be individually selected members or groups. Groups
+  must be defined beforehand in the Group manager (Menu "Group
+  manager" -> "Manage groups").  Your assignment is listed on the
+  landing page of the assignments application.
+
+
+## .LRN Portlet
+
+The portlet shows a link to the assignments application and currently
+open tasks for admins (teachers) and students.
+
+Students see a list of currently open assignments, admins see
+assignments with existing submissions which need to be graded.
+
+
+## Description of Functionality
+
+With this module, you can
+- define different assignment types (textbox-, file- or peer review
+  assignments).
+- assign homework to single students or
+- define groups within the group manager and assign homework to
+  groups. Only one group member needs to turn in the homework, then
+- provide feedback and grade assignments or return the assignments to
+  the students for resubmission.
+- grade assignments once they are turned in, even if the submission
+  period has not yet expired.
+- hand in assignments for students, eg pdf files you receive via email.
+
+### Peer review
+
+'Peer review' assignments are an experimental feature based on the
+algorithm developed by *Loll, Frank and Pinkwart, Niels: "CITUC:
+Automatisierte Lösungsbewertung im E-Learning durch kollaboratives
+Filtern." (2009).*  https://aisel.aisnet.org/wi2009/120/
+
+For a 'Peer review' assignment, the assignment creator must specify 3
+or more sample answers and define the quality of the answer on a scale
+from 1 to 10.
+
+Students should be able to correctly identify which answers are good
+and which answers are bad. From the correctness of these ratings, a
+tentative score is calculated.
+
+In the next step, teachers should grade the quality of the written
+answer, which contributes the second half of the total points for this
+assignment.
+
+If students should also rate the answers of other students, the
+package parameter "ot_mode" must be set to 0. By default, it is set to
+1 which means that only sample answers are provided for rating.
Index: openacs-4/packages/tlf-assignments/tlf-assignments.info
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/tlf-assignments.info,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/tlf-assignments.info	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!-- Generated by the OpenACS Package Manager -->
+
+<package key="tlf-assignments" url="http://openacs.org/repository/apm/packages/tlf-assignments" type="apm_application">
+    <package-name>Assignments</package-name>
+    <pretty-plural>Assignments</pretty-plural>
+    <initial-install-p>f</initial-install-p>
+    <singleton-p>f</singleton-p>
+    <implements-subsite-p>f</implements-subsite-p>
+    <inherit-templates-p>f</inherit-templates-p>
+
+    <version name="1.0.0" url="http://openacs.org/repository/download/apm/tlf-assignments-1.0.0.apm">
+        <owner url="mailto:marmoser@wu.ac.at">Markus Moser</owner>
+        <maturity>0</maturity>
+
+        <provides url="tlf-assignments" version="1.0.0"/>
+        <requires url="dotlrn" version="1.0"/>
+        <requires url="xowf" version="0.30d"/>
+
+        <callbacks>
+            <callback type="before-install"  proc="tlf_cassignments::before-install"/>
+            <callback type="before-uninstall"  proc="tlf_cassignments::before-uninstall"/>
+            <callback type="after-install"  proc="tlf_cassignments::after-install"/>
+            <callback type="after-upgrade"  proc="tlf_cassignments::upgrade_callback"/>
+            <callback type="before-uninstantiate"  proc="::tlf_cassignments::before-uninstantiate"/>
+        </callbacks>
+        <parameters>
+          <parameter scope="instance" datatype="string"  min_n_values="1"  max_n_values="1"  name="security_policy"  default="::xowiki::__tlf_assignments" description="Default security policy"/>
+          <parameter scope="instance" datatype="number"  min_n_values="1"  max_n_values="1"  name="use_hstore"  default="1" description="Use hstore for accessing instance attributes"/>
+	  <parameter scope="instance" datatype="number"  min_n_values="1"  max_n_values="1"  name="ot_mode"  default="1" description="Should peer review answer alternatives only show sample answers provided by the assignment creator?"/>
+        </parameters>
+    </version>
+</package>
Index: openacs-4/packages/tlf-assignments/catalog/tlf-assignments.de_DE.ISO-8859-1.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/catalog/tlf-assignments.de_DE.ISO-8859-1.xml,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/catalog/tlf-assignments.de_DE.ISO-8859-1.xml	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,279 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<message_catalog package_key="tlf-assignments" locale="de_DE" charset="ISO-8859-1">
+
+  <msg key="abgabe_cancel">Abbrechen</msg>
+  <msg key="abgabe_do_rating">Bewerten</msg>
+  <msg key="abgabe_dograding">Beurteilen</msg>
+  <msg key="abgabe_doresubmission">�berarbeitung</msg>
+  <msg key="abgabe_grade">Abgabe beurteilen</msg>
+  <msg key="abgabe_grade_again">Erneut beurteilen</msg>
+  <msg key="abgabe_help">Nach Klick auf &#34;Abgeben&#34;, wird die Aufgabe an den/die Beurteiler/in gesendet.</msg>
+  <msg key="abgabe_help2">Es k�nnen dann keine �nderungen mehr vorgenommen werden.</msg>
+  <msg key="abgabe_returnforsubmission">Zur �berarbeitung zur�ckreichen</msg>
+  <msg key="abgabe_save_draft_instead">Mit Klick auf &#34;Abgeben&#34; nehmen Sie au�erdem zur Kenntnis, dass bei l�ngeren Texten stichprobenartig ein elektronischer Plagiatscheck durchgef�hrt wird. Wenn Sie Ihre Arbeit noch nicht abgeben m�chten, k�nnen Sie sie als Entwurf speichern und zu einem sp�teren Zeitpunkt abgeben.</msg>
+  <msg key="abgabe_submit">Abgeben</msg>
+  <msg key="abgabe_upload">Als Entwurf speichern</msg>
+  <msg key="abgabe_weiter">Weiter</msg>
+  <msg key="abgaben_filter">Abgaben filtern nach</msg>
+  <msg key="actions">Aktionen</msg>
+  <msg key="add_inf">Zusatzinformationen</msg>
+  <msg key="admin_rate">Adminbewertung</msg>
+  <msg key="admin_rate_help">Mit der Adminbewertung k�nnen Sie die automatische Beurteilung best�tigen oder korrigieren. Die Gesamtbeurteilung ist das arithmetische Mittel von Qualit�tswert und Adminbewertung.</msg>
+  <msg key="alle">Alle Teilnehmer/innen</msg>
+  <msg key="already_submitted">Diese Aufgabe wurde bereits von einem anderen Gruppenmitglied abgegeben.</msg>
+  <msg key="assigned_members">Aufgabenempf�nger/innen</msg>
+  <msg key="asts">Aufgaben</msg>
+  <msg key="attachment">Anhang</msg>
+  <msg key="automatic">Automatische Abgabe</msg>
+  <msg key='available-from'>Freigeschaltet ab</msg>
+  <msg key='available-until'>Freigeschaltet bis</msg>
+  <msg key="b_state">Bearbeitungsstatus</msg>
+  <msg key="back">Zur�ck</msg>
+  <msg key="bzeit">Bearbeitungszeitraum</msg>
+  <msg key="cancel">Abbrechen</msg>
+  <msg key="closed">Aufgabe geschlossen</msg>
+  <msg key="closed_help">Aufgabe ist nicht zur Bearbeitung freigeschaltet.</msg>
+  <msg key="comm_groups">Gruppen in dieser Lehrveranstaltung</msg>
+  <msg key="commas">Es sind nur zwei Nachkommastellen erlaubt.</msg>
+  <msg key="comment">Kommentar</msg>
+  <msg key="conditional_ff-validate_members_valid">Bitte w�hlen Sie die Bearbeiter/in/nen f�r diese Aufgabe aus.</msg>
+  <msg key="cont_edit">Editieren fortsetzen</msg>
+  <msg key="create_1">1. Aufgabendetails</msg>
+  <msg key="create_2">2. Aufgabenempf�nger/innen</msg>
+  <msg key="create_create_new">Weiter: Aufgabenempf�nger/innen bestimmen</msg>
+  <msg key="create_draft">Als Entwurf speichern</msg>
+  <msg key="create_edit_again">Aufgabe bearbeiten</msg>
+  <msg key="create_instance">Bearbeiten</msg>
+  <msg key="create_new">Neue Aufgabe</msg>
+  <msg key="create_saveZB">Aufgabe ver�ffentlichen</msg>
+  <msg key="csv_export">Beurteilungsexport (CSV)</msg>
+  <msg key="csv_export_all">Beurteilungsexport inkl. Studierende ohne Abgaben (CSV)</msg>
+  <msg key="cur_sub">Aktuelle Abgabe</msg>
+  <msg key="current_sel">Aktuelle Auswahl</msg>
+  <msg key="date">Datum festlegen</msg>
+  <msg key="date_with_widget-validate_check_resubmission">�berarbeitungsfrist muss in der Zukunft liegen.</msg>
+  <msg key="date_with_widget-validate_release_date">Freigabedatum muss in der Zukunft liegen</msg>
+  <msg key="date_with_widget-validate_time_to">Bitte kontrollieren Sie das Freischaltungsdatum. Das Enddatum muss z.B. nach dem Startdatum liegen.</msg>
+  <msg key="deadline">F�lligkeit</msg>
+  <msg key="del_conf">Wollen Sie dieses Element wirklich l�schen?</msg>
+  <msg key="Delete_this_assignment">Diese Aufgabe l�schen</msg>
+  <msg key="desc_help">Hier k�nnen Sie Hinweise zu Learning Outcomes oder andere Meta-Information wie Abgabeform oder Bearbeitungshinweise geben.</msg>
+  <msg key="details">Details</msg>
+  <msg key="dl">Herunterladen</msg>
+  <msg key="dl_selected">Ausgew�hlte herunterladen</msg>
+  <msg key="dline">Fristen</msg>
+  <msg key="draft">Entwurf</msg>
+  <msg key="draft_help">Aufgabe im Entwurfsstatus</msg>
+  <msg key="draft_help2">Aufgabe im Entwurfsstatus - Zuweisung der Aufgabenempf�nger/innen</msg>
+  <msg key="draft_not_submitted_automatically">Achtung: Ihre Abgabe bleibt so lange im Entwurfsstatus, bis Sie sie durch Klick auf &#34;Abgeben&#34; an den/die Betreuer/in senden. Keine automatische Abgabe durch das System!</msg>
+  <msg key="draft_success">Entwurf gespeichert</msg>
+  <msg key="Edit_this_assignment">Bearbeiten</msg>
+  <msg key="einzelne">Einzelne Teilnehmer/innen</msg>
+  <msg key="empty_com">In dieser Community sind keine Teilnehmer/innen vorhanden.</msg>
+  <msg key="empty_groups">Sie haben noch keine Gruppen f�r dieses Aufgabenmodul angelegt. Folgende Schritte k�nnten Ihnen weiterhelfen:
+&lt;ul&gt; &lt;li&gt; Legen Sie im &lt;a href=&#34;./groupmgr&#34; target=&#34;blank&#34; &gt; Gruppenmanager &lt;/a&gt; die gew�nschten Gruppen an. &lt;/li&gt; &lt;li&gt;Laden Sie diese Seite neu.&lt;/li&gt; &lt;li&gt;Weisen Sie dann der Aufgabe die neuen Gruppen zu.&lt;/li&gt;&lt;/ul&gt;
+</msg>
+  <msg key="end">Ende</msg>
+  <msg key="exam">Musterklausur</msg>
+  <msg key="exam_prot">Klausurprotokoll</msg>
+  <msg key="exam_select">Musterklausurwahl</msg>
+  <msg key="exam_sub">Klausurabgabe</msg>
+  <msg key="export_nothing">Keine Daten zum Export vorhanden.</msg>
+  <msg key="export_noting">Diese Aufgabe ent�lt keine Beurteilungen zum Export.</msg>
+  <msg key="file_upload">Datei hochladen</msg>
+  <msg key="fileex">Datei</msg>
+  <msg key="FormField-validate_grading_validator">Ung�ltige Beurteilung.</msg>
+  <msg key="gr_subm">Gruppenabgabe</msg>
+  <msg key="grade_error">Noten m�ssen zwischen 1 und 5 liegen.</msg>
+  <msg key="grade_mode">Beurteilungsmodus</msg>
+  <msg key="grade_nag">Diese Aufgabe kann nur in der Detailansicht beurteilt werden.</msg>
+  <msg key="grade_release">Beurteilungsfreigabe</msg>
+  <msg key="grade_selected">Schnellbeurteilung �bernehmen</msg>
+  <msg key="grade_success">Sie haben die Aufgabe erfolgreich beurteilt.</msg>
+  <msg key="graded">Beurteilt</msg>
+  <msg key="graded_subs">Beurteilte Arbeiten</msg>
+  <msg key="grading">Beurteilung</msg>
+  <msg key="group">Gruppe</msg>
+  <msg key="Group_cancel">Zuordnung der Gruppe zu dieser Aufgabe aufheben</msg>
+  <msg key="group_create">Gruppe erstellen</msg>
+  <msg key="group_edit">Gruppe bearbeiten</msg>
+  <msg key="group_ex">Gruppenaufgabe</msg>
+  <msg key="Group_export">Gruppen exportieren (CSV)</msg>
+  <msg key="group_help">Bitte ziehen Sie die Teilnehmer/innen der Gruppe aus dem Feld &#34;Auswahlm�glichkeiten&#34; in das Feld &#34;Aktuelle Auswahl&#34;.</msg>
+  <msg key="group_memb">Mitglieder der Gruppe</msg>
+  <msg key="group_nag">Dies ist eine Gruppenaufgabe. Mitglieder der Gruppe:</msg>
+  <msg key="group_name">Gruppenname</msg>
+  <msg key="group_name_empty">Gruppenname darf nicht leer sein.</msg>
+  <msg key="group_new">Neue Gruppe erstellen</msg>
+  <msg key="groupmgr">Gruppenmanager</msg>
+  <msg key="groupmgr_action">Gruppen verwalten</msg>
+  <msg key="gruppe">Gruppen</msg>
+  <msg key="help_ot">Alle Antwortfelder m�ssen ausgef�llt sein. Qualit�tswerte zeigen die Richtigkeit der Antwort an und m�ssen zwischen 1 und 10 liegen. Dabei bezeichnet 1 eine schlechte Antwort und 10 eine sehr gute Antwort. Nachkommastellen sind mit &#34;.&#34; zu trennen.</msg>
+  <msg key="helptext_copy_exam">
+    &lt;p&gt;&lt;img src=&#34;/shared/images/info.gif&#34; alt=&#34;[i]&#34; title=&#34;Help text&#34; border=&#34;0&#34; height=&#34;9&#34; width=&#34;12&#34;&gt; Bitte beachten Sie beim Importieren von Aufgaben folgende Punkte:&lt;/p&gt;
+			&lt;ul&gt;
+				&lt;li&gt;Musterklausuren, die bereits in der aktuellen LV liegen (z.B. durch Vererbung von einer Lehrmaterialsammlung), werden 1:1 in der Version zur Zeit der Erstellung der Aufgabe �bernommen. Sollte sich die Musterklausur mittlerweile ge�ndert haben (z.B. ge�nderte Beispiele) m�ssen Sie dies auf Ebene der entsprechenden Aufgabe nachziehen. Ist die Musterklausur in der aktuellen LV nicht vorhanden, muss diese erst dort angelegt werden.&lt;/li&gt;
+			&lt;/ul&gt;
+            </msg>
+  <msg key="Hide_details">Aufgabendetails verbergen</msg>
+  <msg key="immer">immer</msg>
+  <msg key="import">Aufgabe importieren</msg>
+  <msg key="individual">Manuell ver�ffentlichen</msg>
+  <msg key="info_publish">Alle beurteilten Aufgaben werden ver�ffentlicht und f�r Studierende sichtbar.</msg>
+  <msg key="instant_share">sofort</msg>
+  <msg key="is_graded">Aufgabe wurde benotet</msg>
+  <msg key="is_open">Aufgabe begonnen</msg>
+  <msg key="is_running">Aufgabe l�uft</msg>
+  <msg key="is_running_help">Aufgabe ist zur Bearbeitung freigeschaltet</msg>
+  <msg key="is_submitted">Aufgabe abgegeben</msg>
+  <msg key="label_assignments_copy">Aufgaben importieren</msg>
+  <msg key="label_copy">Ausgew�hlte Aufgaben importieren</msg>
+  <msg key="label-validate_no_groups">Diese Community hat keine Gruppen</msg>
+  <msg key="label-validate_no_members">Diese Community hat keine Teilnehmer</msg>
+  <msg key="man">Manuelle Abgabe</msg>
+  <msg key="matnr">Matrikelnummer</msg>
+  <msg key="maxpoints">Maximale Punktezahl</msg>
+  <msg key="maxpoints_missing">Max. Punkteanzahl kann nicht leer sein.</msg>
+  <msg key="Members_all_communities">Mitglieder aller verkn�pften Lehrveranstaltungen</msg>
+  <msg key="Members_one_community">Nur Mitglieder dieser Lehrveranstaltung</msg>
+  <msg key="missing">Nicht abgegeben</msg>
+  <msg key="mod_title">Aufgaben</msg>
+  <msg key="more_files">Weitere Datei hinzuf�gen</msg>
+  <msg key="my_ans">Meine Antwort</msg>
+  <msg key="my_comment">Studierendenkommentar</msg>
+  <msg key="my_sub">Meine Abgabe</msg>
+  <msg key="nachfrist">Nachfrist</msg>
+  <msg key="nachfrist_ahead">Die Nachfrist darf nicht vor der Abgabefrist liegen.</msg>
+  <msg key="nachfrist_create">Nachfrist setzen</msg>
+  <msg key="navi_back">Zur�ck zur Startseite</msg>
+  <msg key="nein">Ist das H�kchen gesetzt, werden die Aufgabendetails f�r Studierende nur innerhalb des Bearbeitungszeitraums angezeigt.</msg>
+  <msg key="new">Neu</msg>
+  <msg key="no_data">Keine Daten vorhanden</msg>
+  <msg key="no_delete">wird im Notenbuch verwendet und kann nicht gel�scht werden</msg>
+  <msg key="no_grading">Keine Beurteilung</msg>
+  <msg key="no_grading_allowed">Keine Beurteilung m�glich</msg>
+  <msg key="no_open_subs">Keine Aufgaben zur Bearbeitung vorhanden</msg>
+  <msg key="no_preview">Keine Vorschau verf�gbar</msg>
+  <msg key="no_share">nie</msg>
+  <msg key="none">Noten nicht ver�ffentlichen</msg>
+  <msg key="not_passed">Nicht bestanden</msg>
+  <msg key="of">von</msg>
+  <msg key="open">In Bearbeitung</msg>
+  <msg key="opentext_sample-validate_valid">Alle drei Antwortfelder m�ssen bef�llt sein. Der Qualit�tswert jeder
+Antwort muss eine ganze Zahl zwischen 1 und 10 sein.</msg>
+  <msg key="ot_intro_text1">Diese Aufgabenstellung besteht aus zwei Teilen:</msg>
+  <msg key="ot_intro_text2">Im ersten Teil schreiben Sie Ihre Antwort zur gegebenen Fragestellung. Formulieren Sie diese Antwort vollst�ndig und in eigenen Worten.</msg>
+  <msg key="ot_intro_text3">Im zweiten Teil bewerten Sie drei Antworten anderer Studierender. Sch�tzen Sie die Qualit�t der Antworten richtig ein.</msg>
+  <msg key="ot_intro_text4">Ihre Endnote setzt sich aus beiden Teilergebnissen zusammen.</msg>
+  <msg key="ot_intro_text5">Achtung: Wenn Sie eine Antwort mit sehr hohen Punkten bewerten, es sich aber um eine schlechte Antwort handelt, wirkt sich das am Ende negativ auf Ihre eigene Endnote aus. Sie schaden sich also durch unbedachtes Bewerten der anderen am Ende selbst.</msg>
+  <msg key="ot_step1">1. Meine Antwort</msg>
+  <msg key="ot_step2">2. Antworten anderer bewerten</msg>
+  <msg key="otex">Peer review</msg>
+  <msg key="other_rating">Andere abgegebene L�sung</msg>
+  <msg key="overwrite_warning">Diese Abgabe wurde bereits von jemand anderem get�tigt. Laden Sie die Seite neu, um diese Abgabe zu sehen.</msg>
+  <msg key="passed">Bestanden</msg>
+  <msg key="percent">Prozent</msg>
+  <msg key="percent_gt_100">Muss eine ganze Zahl kleiner 100 sein.</msg>
+  <msg key="plagcheck">Die Plagiatspr�fung dient der Sicherung der guten wissenschaftlichen Praxis. Die Plagiats�berpr�fung stellt weder datenschutzrechtlich noch urheberrechtlich einen relevanten Eingriff dar, da die Verwertungsm�glichkeiten einzelner Verfasser/innen nicht beeintr�chtigt werden. 
+Dennoch sind folgende Richtlinien f�r den Upload einzuhalten:
+&lt;ol&gt;
+&lt;li&gt;Vor der elektronischen Plagiats�berpr�fung von studentischen Arbeiten sollte die Einverst�ndniserkl�rung der Studierenden vorliegen. Die Studierenden werden bei der Abgabe dar�ber informiert, dass stichprobenartig Plagiatspr�fungen durchgef�hrt werden und akzeptieren dies durch konkludente Zustimmung&lt;/li&gt;
+&lt;li&gt;Beim gepr�ften Dokument sollte es sich um die finale Fassung handeln, da diese auch als Referenz f�r zuk�nftige Pr�fungen verwerdet wird&lt;/li&gt;
+&lt;/ol&gt;
+&lt;br&gt;
+Ich habe die obenstehenden Informationen gelesen und verstanden.</msg>
+  <msg key="plagcheck_not_possible">Plagiatscheck nicht m�glich</msg>
+  <msg key="plagcheck_match">Plagiatswahrscheinlichkeit in %</msg>
+  <msg key="points">Punkte</msg>
+  <msg key="points_lt_0">Muss eine ganze Zahl gr��er 0 sein.</msg>
+  <msg key="pre_grade">Vorl�ufige Beurteilung</msg>
+  <msg key="pretty_name">Aufgaben</msg>
+  <msg key="pretty_name_sg">Aufgabe</msg>
+  <msg key="published">ver�ffentlicht</msg>
+  <msg key="quick_grade">Schnell-Beurteilung</msg>
+  <msg key="qvar">Qualit�tswert</msg>
+  <msg key="rate_help">Bei Ihrer Bewertung k�nnen Sie zwischen 1 f�r eine sehr schlechte L�sung und 10 f�r eine sehr gute L�sung vergeben.</msg>
+  <msg key="rate_success">Sie haben erfolgreich bewertet.</msg>
+  <msg key="rated_ans">Bewertete Antwort</msg>
+  <msg key="rating_admin">Lehrendenbewertung</msg>
+  <msg key="rating_stud">Studierendenbewertung</msg>
+  <msg key="ready">Aufgabe bereitgestellt</msg>
+  <msg key="ready_help">Die Aufgabe ist bereits f�r Studierende sichtbar, aber nicht zur Bearbeitung freigeschaltet.</msg>
+  <msg key="references">Dieser Gruppe sind Aufgaben zugeordnet. Um Gruppen zu l�schen, m�ssen zuerst alle Zuordnungen zu Aufgaben entfernt werden.</msg>
+  <msg key="rel_corr">Anzeigen nach Beurteilung aller</msg>
+  <msg key="rel_date">Freigabedatum</msg>
+  <msg key="rel_sofort">Sofort nach Beurteilung</msg>
+  <msg key="release_grades">Manuell ver�ffentlichen</msg>
+  <msg key="resub">�berarbeitung</msg>
+  <msg key="resub_deadline">�berarbeitungsfrist</msg>
+  <msg key="resub_help">Der/ die LV-Leiter/in hat die Abgabe zur �berarbeitung an Sie zur�ckgereicht.</msg>
+  <msg key="resub_open">�berarbeitung offen</msg>
+  <msg key="results">Leistungs�bersicht f�r</msg>
+  <msg key="sample_sol">Musterl�sung freigeben</msg>
+  <msg key="save_chan">�nderungen �bernehmen</msg>
+  <msg key="save_edit">Speichern</msg>
+  <msg key="selections">Auswahlm�glichkeiten</msg>
+  <msg key="Settings">Einstellungen</msg>
+  <msg key="Settings_netiquette">Wenn dieses Aufgabenmodul mit anderen Lehrveranstaltungen verkn�pft ist, k�nnen Sie hier festlegen, ob nur die Mitglieder dieser Lehrveranstaltung oder auch die Mitglieder der verkn�pften Lehrveranstaltungen angezeigt werden sollen. </msg>
+  <msg key="shared_package">Achtung: Dieses Aufgabenmodul ist verkn�pft mit folgenden anderen LV-Communities:</msg>
+  <msg key="Show_details">Aufgabendetails anzeigen</msg>
+  <msg key="Show_members">Mitglieder anzeigen</msg>
+  <msg key="single_ex">Einzelaufgabe</msg>
+  <msg key="start">Beginn</msg>
+  <msg key="start_empty">Noch keine Aufgaben vorhanden</msg>
+  <msg key="start_exam">Musterklausur starten</msg>
+  <msg key="start_page">Startseite</msg>
+  <msg key="state">Aufgabenstatus</msg>
+  <msg key="stud_view">Studierendensicht</msg>
+  <msg key="sub_pl">Abgaben</msg>
+  <msg key="sub_time">Abgabezeitraum</msg>
+  <msg key="subm">Studierendenabgabe</msg>
+  <msg key="subm_ans">Abgegebene Antwort</msg>
+  <msg key="subm_comm">Studierendenkommentar</msg>
+  <msg key="subm_fr">Abgegeben von</msg>
+  <msg key="Submission">Abgabe</msg>
+  <msg key="submit_as_student_nag">Sie bearbeiten diese Abgabe f�r </msg>
+  <msg key="submit_for">Abgeben f�r</msg>
+  <msg key="submit_plagcheck">Zur Plagiatspr�fung senden</msg>
+  <msg key="submitted">Abgegeben</msg>
+  <msg key="submitted_subs">Abgegebene Arbeiten</msg>
+  <msg key="submitted_success">Sie haben die Aufgabe erfolgreich abgegeben.</msg>
+  <msg key="supercomment">Beurteilungskommentar</msg>
+  <msg key="superfile">Beurteilerdatei</msg>
+  <msg key="test_nag">Sie bearbeiten diese Aufgabe als Lehrende/r zu Testzwecken. Ihre Abgabe wird nicht gespeichert.</msg>
+  <msg key="text">Aufgabenstellung</msg>
+  <msg key="textex">Textbox</msg>
+  <msg key="This_assignment">Diese Aufgabe...</msg>
+  <msg key="time_share">nach Ablauf der Aufgabe</msg>
+  <msg key="time_up">Aufgabe abgelaufen</msg>
+  <msg key="time_up_help">Der Bearbeitungszeitraum f�r diese Aufgabe ist abgelaufen.</msg>
+  <msg key="title">Aufgabentitel</msg>
+  <msg key="type">Aufgabentyp</msg>
+  <msg key="type_comment">Nur Kommentar</msg>
+  <msg key="type_grade">Ziffernnote 1-5</msg>
+  <msg key="type_passed">Bestanden/ Nicht bestanden</msg>
+  <msg key="verbergen">Sichtbarkeit</msg>
+  <msg key="verbergen_help">Sollen die Studierenden vor Beginn der Bearbeitungszeit die Aufgabendetails sehen?</msg>
+  <msg key="visibility">Sichtbarkeit</msg>
+  <msg key="visibility_help">Studierende sehen die Aufgabendetails nur w�hrend des Bearbeitungszeitraums.</msg>
+  <msg key="Welcome_text">&lt;h3&gt;Willkommen im Aufgabenmodul!&lt;/h3&gt;
+&lt;p&gt;Mit diesem Modul k�nnen Sie&lt;/p&gt;
+&lt;ul&gt;
+&lt;li&gt;unterschiedliche Aufgabentypen als Haus�bungen einsetzen (Textbox-, Datei- oder Peer-Review-Abgabe).&lt;/li&gt;
+&lt;li&gt;Haus�bungen als Einzelaufgaben an Studierende zuweisen oder&lt;/li&gt;
+&lt;li&gt;im Gruppenmanager Gruppen definieren und Aufgaben als Gruppenaufgabe bearbeiten lassen. Es muss nur 1 Gruppenmitglied abgeben.&lt;/li&gt;
+&lt;li&gt;Feedback geben und Aufgaben benoten oder Nachbesserungsauftr�ge an Studierende senden.&lt;/li&gt;
+&lt;li&gt;Aufgaben korrigieren, sobald sie einmal abgegeben wurden, auch wenn die Bearbeitungsfrist noch nicht abgelaufen ist.&lt;/li&gt;&lt;/ul&gt;
+&lt;h3&gt;Wichtiger Hinweis&lt;/h3&gt;
+&lt;p&gt;
+Bitte beachten Sie, dass Ihnen diese Anwendung "Aufgaben" &lt;b&gt;nur mehr f�r das Wintersemester 2020/2021&lt;/b&gt; zur Verf�gung steht. F�r Arbeitsauftr�ge empfehlen wir bereits jetzt den Aufgabentyp &#34;Offener Arbeitsauftrag&#34; in der Anwendung &lt;a href=&#39;../tlf-lrn&#39;&gt;Lernaktivit�ten&lt;/a&gt; zu verwenden &lt;a href=&#39;/open/guide/de:lernaktivitaeten&#39;&gt;(Anleitung)&lt;/a&gt;. F�r Gruppenarbeiten verwenden Sie bitte zuk�nftig die &lt;a href=&#39;../admin/groups/groups-list&#39;&gt;Gruppenadministration&lt;/a&gt; unter &#34;Verwalten&#34; &lt;a href=&#39;/open/guide/de:gruppenadministration&#39;&gt;(Anleitung)&lt;/a&gt;.
+&lt;/p&gt;
+</msg>
+  <msg key="wikiex">Wiki</msg>
+  <msg key="will_be_closed">Bitte beachten Sie dass die Aufgabe um</msg>
+  <msg key="will_be_closed2">geschlossen wird. Nach diesem Zeitpunkt ist kein Bearbeiten mehr m�glich</msg>
+  <msg key="your_rating">Ihre Bewertung</msg>
+  <msg key="ziehen_help1">Bitte ziehen Sie die Gruppen aus dem rechten Feld &#34;Auswahlm�glichkeiten&#34; in das linke Feld &#34;Aktuelle Auswahl&#34;.</msg>
+  <msg key="ziehen_help2">Bitte ziehen Sie die Aufgabenempf�nger/innen aus dem rechten Feld &#34;Auswahlm�glichkeiten&#34; in das linke Feld &#34;Aktuelle Auswahl&#34;.</msg>
+  <msg key="zuweisen_help">Aufgabenempf�nger/innen</msg>
+</message_catalog>
Index: openacs-4/packages/tlf-assignments/catalog/tlf-assignments.en_US.ISO-8859-1.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/catalog/tlf-assignments.en_US.ISO-8859-1.xml,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/catalog/tlf-assignments.en_US.ISO-8859-1.xml	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,276 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<message_catalog package_key="tlf-assignments" locale="en_US" charset="ISO-8859-1">
+
+  <msg key="abgabe_cancel">Cancel</msg>
+  <msg key="abgabe_do_rating">Rate</msg>
+  <msg key="abgabe_dograding">Grade</msg>
+  <msg key="abgabe_doresubmission">Resubmission</msg>
+  <msg key="abgabe_grade">Grade Assignment</msg>
+  <msg key="abgabe_grade_again">Grade again</msg>
+  <msg key="abgabe_help">Once &#34;Submit&#34; has been clicked, your work is sent to your supervisor.</msg>
+  <msg key="abgabe_help2">This submission cannot be modified anymore, then.</msg>
+  <msg key="abgabe_returnforsubmission">Return for resubmission</msg>
+  <msg key="abgabe_save_draft_instead">By clicking &#34;Submit&#34;, you are also confirming that you are aware that longer texts are subject to random plagiarism testing. If you do not want to submit your work yet, click &#34;Save as draft&#34; to save it for later submission.</msg>
+  <msg key="abgabe_submit">Submit</msg>
+  <msg key="abgabe_upload">Save as draft</msg>
+  <msg key="abgabe_weiter">Continue</msg>
+  <msg key="abgaben_filter">Filter submissions</msg>
+  <msg key="actions">Actions</msg>
+  <msg key="add_inf">Additional information</msg>
+  <msg key="admin_rate">Administrator rating</msg>
+  <msg key="admin_rate_help">The administrator rating confirms or corrects the automatic ratings. The overall rating is the arithmetic mean of quality value and administrator rating.</msg>
+  <msg key="alle">All members</msg>
+  <msg key="already_submitted">This assignment has already been submitted by a member of this group.</msg>
+  <msg key="assigned_members">Assignment recipients</msg>
+  <msg key="asts">Assignments</msg>
+  <msg key="attachment">Attachment</msg>
+  <msg key="automatic">auto submission</msg>
+  <msg key='available-from'>Available from</msg>
+  <msg key='available-until'>Available until</msg>
+  <msg key="b_state">Submission status</msg>
+  <msg key="back">Back</msg>
+  <msg key="bzeit">Time needed for completion</msg>
+  <msg key="cancel">Cancel</msg>
+  <msg key="closed">Assignment closed</msg>
+  <msg key="closed_help">This assignment is not available for submission.</msg>
+  <msg key="comm_groups">Groups in this community</msg>
+  <msg key="commas">Only two decimal places allowed.</msg>
+  <msg key="comment">Comment</msg>
+  <msg key="conditional_ff-validate_members_valid">Please select the students for this assignment.</msg>
+  <msg key="cont_edit">Continue editing</msg>
+  <msg key="create_1">1. Assignment details</msg>
+  <msg key="create_2">2. Assignment recipients</msg>
+  <msg key="create_create_new">Continue: Define assignment recipients</msg>
+  <msg key="create_draft">Save as draft</msg>
+  <msg key="create_edit_again">Edit assignment</msg>
+  <msg key="create_instance">Edit</msg>
+  <msg key="create_new">New assignment</msg>
+  <msg key="create_saveZB">Publish assignment</msg>
+  <msg key="csv_export">Grade export (CSV)</msg>
+  <msg key="csv_export_all">Grade export including students without submission (CSV)</msg>
+  <msg key="cur_sub">Current submission</msg>
+  <msg key="current_sel">Current selection</msg>
+  <msg key="date">Define date</msg>
+  <msg key="date_with_widget-validate_check_resubmission">The resubmission date must lie ahead</msg>
+  <msg key="date_with_widget-validate_release_date">The release date must lie ahead</msg>
+  <msg key="date_with_widget-validate_time_to">Please control the dates of the assignment. For instance, the end date 
+must come after the start date.</msg>
+  <msg key="deadline">Due date</msg>
+  <msg key="del_conf">Are you sure you want to delete?</msg>
+  <msg key="Delete_this_assignment">Delete this assignment</msg>
+  <msg key="desc_help">Use this optional field to place meta information, e.g. learning outcomes, working instructions or submission mode.</msg>
+  <msg key="details">Details</msg>
+  <msg key="dl">Download</msg>
+  <msg key="dl_selected">Download selected items</msg>
+  <msg key="dline">Deadlines</msg>
+  <msg key="draft">Draft</msg>
+  <msg key="draft_help">This assignment is a draft.</msg>
+  <msg key="draft_help2">This assignment is a draft. Define assignment recipients.</msg>
+  <msg key="draft_not_submitted_automatically">Attention: Your submission will stay in draft state until you submit it with the &#34;Submit&#34; button.</msg>
+  <msg key="draft_success">Draft saved</msg>
+  <msg key="Edit_this_assignment">Edit</msg>
+  <msg key="einzelne">Individual members</msg>
+  <msg key="empty_com">There are no members in this community.</msg>
+  <msg key="empty_groups">There are no groups defined in this community. To continue creating this exercise please follow these steps:
+&lt;ul&gt; &lt;li&gt; Open the &lt;a href=&#34;./groupmgr&#34; target=&#34;blank&#34; &gt; groupmanager &lt;/a&gt; and create your desired group. &lt;/li&gt; &lt;li&gt;Reload this page.&lt;/li&gt; &lt;li&gt;Assign your group to this assignment&lt;/li&gt;&lt;/ul&gt;
+</msg>
+  <msg key="end">End</msg>
+  <msg key="exam">Sample exam</msg>
+  <msg key="exam_prot">Exam result details</msg>
+  <msg key="exam_select">Sample exam selection</msg>
+  <msg key="exam_sub">Submission overview</msg>
+  <msg key="export_nothing">No data available for export.</msg>
+  <msg key="export_noting">This assignment does not contain any grades for export.</msg>
+  <msg key="file_upload">Upload file</msg>
+  <msg key="fileex">File</msg>
+  <msg key="FormField-validate_grading_validator">Invalid grade.</msg>
+  <msg key="gr_subm">Group work</msg>
+  <msg key="grade_error">The grade must be a figure between 1 and 5.</msg>
+  <msg key="grade_mode">Grading mode</msg>
+  <msg key="grade_nag">This assignment cannot be graded in the
+preview mode.</msg>
+  <msg key="grade_release">Release grade</msg>
+  <msg key="grade_selected">Confirm grades</msg>
+  <msg key="grade_success">The grading process for this assignment is completed.</msg>
+  <msg key="graded">Graded</msg>
+  <msg key="graded_subs">Graded assignments</msg>
+  <msg key="grading">Grading</msg>
+  <msg key="group">Group</msg>
+  <msg key="Group_cancel">Suspend assignment for this group</msg>
+  <msg key="group_create">Create a group</msg>
+  <msg key="group_edit">Edit group</msg>
+  <msg key="group_ex">Group work</msg>
+  <msg key="Group_export">Export Groups as CSV</msg>
+  <msg key="group_help">To create a group, drag individual members from the right field into the &#34;current selection&#34; field.</msg>
+  <msg key="group_memb">Group members</msg>
+  <msg key="group_nag">This is a group work assignment. The members of this group are:</msg>
+  <msg key="group_name">Group name</msg>
+  <msg key="group_name_empty">Group name cannot be empty.</msg>
+  <msg key="group_new">Create new group</msg>
+  <msg key="groupmgr">Group manager</msg>
+  <msg key="groupmgr_action">Manage groups</msg>
+  <msg key="gruppe">Groups</msg>
+  <msg key="help_ot">All answer fields must contain data. Quality values, which indicate the grade of correctness of the answer, have to be figures between 1 and 10. 1 signifies a poor answer and 10 a very good answer. Decimal places are to be marked with &#34;.&#34;.</msg>
+  <msg key="helptext_copy_exam">
+    &lt;p&gt;&lt;img src=&#34;/shared/images/info.gif&#34; alt=&#34;[i]&#34; title=&#34;Help text&#34; border=&#34;0&#34; height=&#34;9&#34; width=&#34;12&#34;&gt; Please note the following points when importing assignments:&lt;/p&gt;
+			&lt;ul&gt;
+				&lt;li&gt;Sample exams that are already available in the current course (e.g. by allocation to a course repository) are copied 1:1 in the version at the time of the assignment creation. If the sample exam has been modified in the meantime (e.g. modified exercises), you have to change the sample exam on the level of the corresponding assignment. If the sample exam is not yet available in the current course, it has to be provided first.&lt;/li&gt;
+			&lt;/ul&gt;
+            </msg>
+  <msg key="Hide_details">Hide assignment details</msg>
+  <msg key="immer">always</msg>
+  <msg key="import">Assignment import</msg>
+  <msg key="individual">Release grades manually</msg>
+  <msg key="info_publish">All graded assignments will be published and visible to students.</msg>
+  <msg key="instant_share">instantly</msg>
+  <msg key="is_graded">The assignment has been graded</msg>
+  <msg key="is_open">Assignment started</msg>
+  <msg key="is_running">Submission period running</msg>
+  <msg key="is_running_help">This assignment can be handed in</msg>
+  <msg key="is_submitted">Assignment submitted</msg>
+  <msg key="label-validate_no_groups">There are no groups in this community</msg>
+  <msg key="label-validate_no_members">There are no members in this community</msg>
+  <msg key="label_assignments_copy">Import assignments</msg>
+  <msg key="label_copy">Import selected assignments</msg>
+  <msg key="man">manual submission</msg>
+  <msg key="matnr">Student ID</msg>
+  <msg key="maxpoints">Points (max.) </msg>
+  <msg key="maxpoints_missing">Max. points cannot be empty.</msg>
+  <msg key="Members_all_communities">Members of all shared communities</msg>
+  <msg key="Members_one_community">Only members of this community</msg>
+  <msg key="missing">Not submitted</msg>
+  <msg key="mod_title">Assignments</msg>
+  <msg key="more_files">Add another file</msg>
+  <msg key="my_ans">My answer</msg>
+  <msg key="my_comment">Student comment</msg>
+  <msg key="my_sub">My submission</msg>
+  <msg key="nachfrist">Extension</msg>
+  <msg key="nachfrist_ahead">The extension date cannot be set prior to the regular due date.</msg>
+  <msg key="nachfrist_create">Set extension</msg>
+  <msg key="navi_back">Back to assignment overview</msg>
+  <msg key="nein">If this box is ticked, assignment details are only displayed during the submission period.</msg>
+  <msg key="new">New</msg>
+  <msg key="no_data">No data available</msg>
+  <msg key="no_delete">is used in the gradebook and cannot be deleted</msg>
+  <msg key="no_grading">No grading</msg>
+  <msg key="no_grading_allowed">Grading is not possible</msg>
+  <msg key="no_open_subs">No assignments are currently open</msg>
+  <msg key="no_preview">No preview available</msg>
+  <msg key="no_share">never</msg>
+  <msg key="none">Don&#39;t release grades</msg>
+  <msg key="not_passed">No pass</msg>
+  <msg key="of">of</msg>
+  <msg key="open">Started</msg>
+  <msg key="opentext_sample-validate_valid">All three answer fields need to be filled. The quality value of each
+answer needs to be an integer between 1 and 10.</msg>
+  <msg key="ot_intro_text1">This assignment consists of two parts:</msg>
+  <msg key="ot_intro_text2">Firstly, please write your answer to the assigned question. Formulate a complete answer in your own words.</msg>
+  <msg key="ot_intro_text3">Secondly, please rate three answers of your peer students. Estimate the quality of the answers correctly.</msg>
+  <msg key="ot_intro_text4">You final grade will be composed of the values of both partial assignments.</msg>
+  <msg key="ot_intro_text5">Attention: If you rate an answer with a high number, but the answer is a bad answer, this will result in a low final grade. Thus, your unsolicitous rating will harm yourself.</msg>
+  <msg key="ot_step1">1. My answer</msg>
+  <msg key="ot_step2">2. Rate other answers</msg>
+  <msg key="otex">Peer review</msg>
+  <msg key="other_rating">Another submitted answer</msg>
+  <msg key="overwrite_warning">This assignment has already been handed in by a group member. Please refresh this page to see the submission.</msg>
+  <msg key="passed">Pass</msg>
+  <msg key="percent">Percent</msg>
+  <msg key="percent_gt_100">Has to be a whole number less than 100.</msg>
+  <msg key="plagcheck">Plagiarism detection is used solely to ensure that academic standards are upheld. It is not a violation of either data protection or intellectual property rights, as it does not impede the author's future commercial use of his/her work. However, the following guidelines do apply:
+&lt;ol&gt;
+&lt;li&gt;The student&#39;s consent must be given before work is submitted for plagiarism testing. Students are informed that their work is subject to random testing when they submit it and give their consent by clicking the appropriate button.&lt;/li&gt;
+&lt;li&gt;The submitted document should be the final version, as it will be used for reference in future plagiarism testing.&lt;/li&gt;
+&lt;/ol&gt;
+&lt;br&gt;
+I have read and understood the information provided above.</msg>
+  <msg key="plagcheck_not_possible">Plagiarism check not possible</msg>
+  <msg key="plagcheck_match">Probability of plagiarism in %</msg>
+  <msg key="points">Points</msg>
+  <msg key="points_lt_0">Has to be a whole number greater than 0. </msg>
+  <msg key="pre_grade">Tentative grade</msg>
+  <msg key="pretty_name">Assignments</msg>
+  <msg key="pretty_name_sg">Assignment</msg>
+  <msg key="published">published</msg>
+  <msg key="quick_grade">Quick grading</msg>
+  <msg key="qvar">Quality value</msg>
+  <msg key="rate_help">You can rate this answer using the figures from 1 to 10. 1 means a very poor answer, 10 a very good one.</msg>
+  <msg key="rate_success">You have rated the answers successfully.</msg>
+  <msg key="rated_ans">Rated answer</msg>
+  <msg key="rating_admin">Teacher rating</msg>
+  <msg key="rating_stud">Student rating</msg>
+  <msg key="ready">Assignment published</msg>
+  <msg key="ready_help">The assignment is visible for students but submissions cannot be made yet.</msg>
+  <msg key="references">There are still assignments connected to this group. Please delete these connections before deleting a group.</msg>
+  <msg key="rel_corr">Grades are released after the last submission has been graded.</msg>
+  <msg key="rel_date">Release date</msg>
+  <msg key="rel_sofort">Immediately after grading</msg>
+  <msg key="release_grades">Release grades manually</msg>
+  <msg key="resub">Resubmission</msg>
+  <msg key="resub_deadline">Resubmission deadline</msg>
+  <msg key="resub_help">Your teacher has handed back the assignment and asks for a resubmission.</msg>
+  <msg key="resub_open">Resubmission pending</msg>
+  <msg key="results">Submissions by</msg>
+  <msg key="sample_sol">Show sample solution</msg>
+  <msg key="save_chan">Save changes</msg>
+  <msg key="save_edit">Save</msg>
+  <msg key="selections">Community members</msg>
+  <msg key="Settings">Settings</msg>
+  <msg key="Settings_netiquette">If this Assignment Module is shared with other communities, you can define here whether you like to see only the members of this community or the members of all the shared communities.</msg>
+  <msg key="shared_package">Note: This assignment module is shared with the following communities</msg>
+  <msg key="Show_details">Show assignment details</msg>
+  <msg key="Show_members">Show members</msg>
+  <msg key="single_ex">Individual work</msg>
+  <msg key="start">Start</msg>
+  <msg key="start_empty">There are currently no assignments.</msg>
+  <msg key="start_exam">Start sample exam</msg>
+  <msg key="start_page">Home page</msg>
+  <msg key="state">Assignment status</msg>
+  <msg key="stud_view">Student view</msg>
+  <msg key="sub_pl">Submissions</msg>
+  <msg key="sub_time">Submission period</msg>
+  <msg key="subm">Student submission</msg>
+  <msg key="subm_ans">Submitted answer</msg>
+  <msg key="subm_comm">Student comment</msg>
+  <msg key="subm_fr">Submission by</msg>
+  <msg key="Submission">Submission</msg>
+  <msg key="submit_as_student_nag">This submission is being done on behalf of the student </msg>
+  <msg key="submit_for">add submission</msg>
+  <msg key="submit_plagcheck">Send to plagiarism check</msg>
+  <msg key="submitted">Submitted</msg>
+  <msg key="submitted_subs">Submitted work</msg>
+  <msg key="submitted_success">You have submitted your assignment successfully.</msg>
+  <msg key="supercomment">Teacher comment</msg>
+  <msg key="superfile">Teacher file</msg>
+  <msg key="test_nag">This submission interface is for testing purposes only. Your submission will not be saved.</msg>
+  <msg key="text">Task</msg>
+  <msg key="textex">Text box</msg>
+  <msg key="This_assignment">This assignment...</msg>
+  <msg key="time_share">after submission period</msg>
+  <msg key="time_up">Submission period expired</msg>
+  <msg key="time_up_help">The submission period for this assignment has expired.</msg>
+  <msg key="title">Assignment title</msg>
+  <msg key="type">Assignment type</msg>
+  <msg key="type_comment">Comment only</msg>
+  <msg key="type_grade">Grades 1-5</msg>
+  <msg key="type_passed">pass/ no pass</msg>
+  <msg key="verbergen">Visibility</msg>
+  <msg key="verbergen_help">Are students allowed to see the task details before the start of the submission period?</msg>
+  <msg key="visibility">Visibility</msg>
+  <msg key="visibility_help">Task details are only visible to students during the submission period.</msg>
+  <msg key="Welcome_text">&lt;h3&gt;Welcome to the assignment module!&lt;/h3&gt;
+&lt;p&gt;With this module, you can&lt;/p&gt;
+&lt;ul&gt;
+&lt;li&gt;define different assignment types (textbox-, file- or peer review assignments).&lt;/li&gt;
+&lt;li&gt;assign homework to single students or&lt;/li&gt;
+&lt;li&gt;define groups within the group manager and assign homework to groups. Only one group member needs to turn in the homework, then.&lt;/li&gt;
+&lt;li&gt;provide feedback and grade assignments or return the assignments to the students for resubmission.&lt;/li&gt;
+&lt;li&gt;grade assignments once they are turned in, even if the submission period has not yet expired.&lt;/li&gt;&lt;/ul&gt;
+</msg>
+  <msg key="wikiex">Wiki</msg>
+  <msg key="will_be_closed">Please keep in mind that this assignment will be closed at</msg>
+  <msg key="will_be_closed2">. Editing beyond this point will not be possible</msg>
+  <msg key="your_rating">Your rating</msg>
+  <msg key="ziehen_help1">To define the assignment recipients__COMMA__ please drag groups from the right field &#34;Community members&#34; into the left field &#34;Current selection&#34;.</msg>
+  <msg key="ziehen_help2">To define the assignment recipients__COMMA__ please drag selected members from the right field &#34;Community members&#34; into the left field &#34;Current selection&#34;.</msg>
+  <msg key="zuweisen_help">Assignment recipients</msg>
+</message_catalog>
Index: openacs-4/packages/tlf-assignments/lib/assignment.wf
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/lib/assignment.wf,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/lib/assignment.wf	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,104 @@
+#[my object] mixin add ButtonCancelMixin
+my mixin add ::xowf::AssignmentSubmissionState
+[my object] mixin add ::xowf::AssignmentCoreWFprocs
+State parameter [list {"view_method" edit}]
+State initial -form_loader abgabe_initial -view_method "[::xo::cc query_parameter view_method edit]"
+initial proc actions {} {
+    return [[my object] check_submittable]
+}
+Action initialize
+Action submit -label  [_ tlf-assignments.abgabe_submit] \
+    -proc activate {obj} {$obj dosubmit}
+submit proc next_state {} {
+    if {[SubmissionType=[[my object] get_property -name exercise_form] set rating_needed]} {return rate} else {return submitted}
+}
+
+Action cancel_grade -label [_ tlf-assignments.back] -next_state submitted -proc activate {obj} {
+  $obj set_property -new 1 grade ""
+}
+
+Action cancel_resub -label [_ tlf-assignments.back] -next_state submitted -proc activate {obj} {
+  $obj set_property -new 1 resubmissionff ""
+}
+
+Action cancel -proc activate {obj} {$obj delete} \
+    -label [_ tlf-assignments.abgabe_cancel]
+Action do_rating -next_state submitted \
+    -label [_ tlf-assignments.abgabe_do_rating] \
+    -proc activate  {obj} {$obj do_rating}
+Action upload -next_state initial  \
+    -label [_ tlf-assignments.abgabe_upload] \
+        -proc activate {obj} {$obj upload_done}
+Action grade_again -next_state grade_state \
+    -label [_ tlf-assignments.abgabe_grade_again] \
+    -proc activate {obj} {
+        set ast [$obj get_property -name assignment_id]
+        ::xo::db::CrClass get_instance_from_db -item_id $ast
+        set package_id [$obj set package_id]
+        set display_members [parameter::get -package_id $package_id -parameter member_display -default 0]
+        set comm_clause [expr {$display_members ? "-community_id [dotlrn_community::get_community_id]" : "" }]
+        }
+Action grade -next_state graded \
+    -label [_ tlf-assignments.abgabe_grade] \
+    -proc activate {obj} {$obj grading_done}
+Action returnforsubmission -next_state resubmission \
+    -label [_ tlf-assignments.abgabe_returnforsubmission]
+Action dograding -next_state grade_state \
+    -label [_ tlf-assignments.abgabe_dograding]
+Action doresubmission -next_state initial \
+    -label [_ tlf-assignments.abgabe_doresubmission] \
+    -proc activate {obj} {$obj do_resubmission}
+State submitted -in_role admin {
+} -form_loader {abgabe_submitted}
+submitted proc actions {} {
+    if {![permission::permission_p -object_id [::xo::cc set package_id] -privilege "admin"]} {return ""}
+    set ast [[my object] get_property -name assignment_id]
+    ::xo::db::CrClass get_instance_from_db -item_id $ast
+    return [subst {
+        [expr {[$ast get_property -name modus] eq "no_grading" ? "" : "dograding"}]
+        [expr {[SubmissionType=[[my object] get_property -name exercise_form] set allow_resub] ? "returnforsubmission" : ""}]
+    }]
+}
+
+#disable grade_again for now
+#
+State graded -in_role admin {
+-actions {grade_again}
+} -form_loader {abgabe_graded}
+
+State resubmission -form_loader abgabe_submitted -in_role admin {
+    -actions {doresubmission cancel_resub} -form_loader abgabe_resubmission
+}
+
+State grade_state  -form_loader abgabe_submitted  -in_role admin {
+    -actions {grade cancel_grade} -form_loader abgabe_grade
+}
+
+State rate -actions {do_rating} -form_loader rating_form
+
+[my object] proc get_form_data args {
+    lassign [next] validation_errors category_ids
+    set error 0
+    set cc [${:package_id} context]
+    foreach {name value} [$cc get_all_form_parameter] {
+        if {[regexp {^__action_(.+)$} $name _ action]} {
+            set ctx [::xowf::Context require [self]]
+            set next_state [${ctx}::$action next_state]
+            if {$next_state eq [$ctx get_current_state] && $next_state eq "submitted"} {
+                util_user_message -message "#tlf-assignments.overwrite_warning#"
+                set validation_errors 1
+                ad_returnredirect [my pretty_link]
+                ad_script_abort
+            }
+        }
+    }
+    return [list $validation_errors $category_ids]
+}
+
+
+#
+# Local variables:
+#    mode: tcl
+#    tcl-indent-level: 4
+#    indent-tabs-mode: nil
+# End:
Index: openacs-4/packages/tlf-assignments/lib/create-assignment.wf
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/lib/create-assignment.wf,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/lib/create-assignment.wf	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,41 @@
+[my object] mixin add ButtonCancelMixin
+[my object] mixin add ::xowf::AssignmentCoreWFprocs
+my mixin add ::xowf::AssignmentState
+State initial -actions {create_new draft} \
+    -form_loader create_assign_initial_loader \
+    -view_method edit
+State editing -actions {open_edit} \
+    -form_loader create_assign_published \
+    -view_method edit
+State assign -actions {saveZB draft} \
+    -view_method edit \
+    -form_loader create_assign_studentmgr
+Action create_new -label [_ tlf-assignments.create_create_new] \
+    -next_state assign -proc activate {obj} {$obj save_values}
+Action open_edit \
+    -next_state initial \
+    -label [_ tlf-assignments.cont_edit]
+Action draft -next_state editing \
+    -label [_ tlf-assignments.create_draft] \
+    -proc activate {obj} {$obj save_values}
+Action saveZB -next_state published \
+    -label [_ tlf-assignments.create_saveZB]
+Action edit_again -next_state published \
+    -label [_ tlf-assignments.save_chan] \
+    -proc activate {obj} {$obj update_cal}
+State published -view_method render_exercise -in_role admin {
+     -form_loader create_assign_published -view_method edit
+} -form_loader create_assign_published
+published proc actions {} {
+if {[permission::permission_p -no_login \
+             -party_id [::xo::cc user_id] \
+             -object_id [[my object] item_id] \
+             -privilege admin] && [::xo::cc query_parameter m] eq "edit"} {
+                return edit_again
+             }}
+#
+# Local variables:
+#    mode: tcl
+#    tcl-indent-level: 4
+#    indent-tabs-mode: nil
+# End:
Index: openacs-4/packages/tlf-assignments/resources/prototypes/workflow.wf.page
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/resources/prototypes/workflow.wf.page,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/resources/prototypes/workflow.wf.page	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,21 @@
+# -*- tcl-*-
+::xowiki::Form new \
+    -set anon_instances f \
+    -set do_substitutions 1 \
+    -set form {{<form>
+        @workflow_definition@
+        @form_constraints@
+        @icon_markup@
+        </form>} text/html} \
+    -set form_constraints {workflow_definition:workflow_definition,cols=120
+        form_constraints:form_constraints,cols=120
+        icon_markup:textarea,rows=4,cols=120
+    } \
+    -set name en:workflow.wf \
+    -set nls_language en_US \
+    -set publish_status ready \
+    -set mime_type text/html \
+    -set text {<p> @workflow_definition@</p>
+        <p>Form Constraints: @form_constraints@&nbsp;
+        </p>} \
+    -set title Workflow
Index: openacs-4/packages/tlf-assignments/sql/postgresql/tlf-assignments-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/sql/postgresql/tlf-assignments-create.sql,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/sql/postgresql/tlf-assignments-create.sql	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1 @@
+\i tlf_assignments_portlet-create.sql
Index: openacs-4/packages/tlf-assignments/sql/postgresql/tlf-assignments-drop.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/sql/postgresql/tlf-assignments-drop.sql,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/sql/postgresql/tlf-assignments-drop.sql	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1 @@
+\i tlf_assignments_portlet-drop.sql
Index: openacs-4/packages/tlf-assignments/sql/postgresql/tlf_assignments_portlet-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/sql/postgresql/tlf_assignments_portlet-create.sql,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/sql/postgresql/tlf_assignments_portlet-create.sql	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,128 @@
+
+
+create function inline_0 ()
+returns integer as '
+declare
+    ds_id portal_datasources.datasource_id%TYPE;
+    foo integer;
+begin
+    ds_id := portal_datasource__new(
+        null,
+        ''tlf_assignment_portlet'',
+        ''Displays the homework'',
+        ''portal_datasource'',
+        now(),
+        null,
+        null,
+        null
+    );
+
+    --  the standard 4 params
+
+    -- shadeable_p
+    perform portal_datasource__set_def_param(
+        ds_id, ''t'', ''t'', ''shadeable_p'', ''t''
+    );
+
+    -- hideable_p
+    perform portal_datasource__set_def_param(
+        ds_id, ''t'', ''t'', ''hideable_p'', ''t''
+    );
+
+    -- user_editable_p
+    perform portal_datasource__set_def_param(
+        ds_id, ''t'', ''t'', ''user_editable_p'', ''f''
+    );
+
+    -- shaded_p
+    perform portal_datasource__set_def_param(
+        ds_id, ''t'', ''t'', ''shaded_p'', ''f''
+    );
+
+    -- link_hideable_p
+    perform portal_datasource__set_def_param(
+        ds_id, ''t'', ''t'', ''link_hideable_p'', ''t''
+    );
+    
+    -- package_id
+    perform portal_datasource__set_def_param (
+        ds_id, ''t'', ''f'', ''package_id'', ''''
+    );
+
+    -- create the implementation
+    perform acs_sc_impl__new(
+        ''portal_datasource'',
+        ''tlf_assignment_portlet'',
+        ''tlf_assignment_portlet''
+    );
+
+        -- add all the hooks
+    perform acs_sc_impl_alias__new (
+           ''portal_datasource'',
+           ''tlf_assignment_portlet'',
+           ''GetMyName'',
+           ''tlf_assignment_portlet::get_my_name'',
+           ''TCL''
+    );
+
+    perform acs_sc_impl_alias__new (
+           ''portal_datasource'',
+               ''tlf_assignment_portlet'',
+               ''GetPrettyName'',
+               ''tlf_assignment_portlet::get_pretty_name'',
+               ''TCL''
+        );
+
+        perform acs_sc_impl_alias__new (
+               ''portal_datasource'',
+               ''tlf_assignment_portlet'',
+               ''Link'',
+               ''tlf_assignment_portlet::link'',
+               ''TCL''
+        );
+
+        perform acs_sc_impl_alias__new (
+               ''portal_datasource'',
+               ''tlf_assignment_portlet'',
+               ''AddSelfToPage'',
+               ''tlf_assignment_portlet::add_self_to_page'',
+               ''TCL''
+        );
+
+        perform acs_sc_impl_alias__new (
+               ''portal_datasource'',
+               ''tlf_assignment_portlet'',
+               ''RemoveSelfFromPage'',
+               ''tlf_assignment_portlet::remove_self_from_page'',
+               ''TCL''
+        );
+
+        perform acs_sc_impl_alias__new (
+               ''portal_datasource'',
+               ''tlf_assignment_portlet'',
+               ''Show'',
+               ''tlf_assignment_portlet::show'',
+               ''TCL''
+        );
+
+        perform acs_sc_impl_alias__new (
+               ''portal_datasource'',
+               ''tlf_assignment_portlet'',
+               ''Edit'',
+               ''tlf_assignment_portlet::edit'',
+               ''TCL''
+        );
+
+        -- Add the binding
+        perform acs_sc_binding__new (
+               ''portal_datasource'',
+               ''tlf_assignment_portlet''
+        );
+
+    return 0;
+
+end;
+' language 'plpgsql';
+
+select inline_0();
+drop function inline_0();
Index: openacs-4/packages/tlf-assignments/sql/postgresql/tlf_assignments_portlet-drop.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/sql/postgresql/tlf_assignments_portlet-drop.sql,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/sql/postgresql/tlf_assignments_portlet-drop.sql	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,78 @@
+
+create function inline_0 ()
+returns integer as '
+declare  
+  ds_id portal_datasources.datasource_id%TYPE;
+begin
+
+    perform acs_sc_binding__delete(
+        ''portal_datasource'',
+        ''tlf_assignment_portlet''
+    );
+
+    perform acs_sc_impl_alias__delete(
+        ''portal_datasource'',
+        ''tlf_assignment_portlet'',
+        ''GetMyName''
+    );
+
+    perform acs_sc_impl_alias__delete(
+        ''portal_datasource'',
+        ''tlf_assignment_portlet'',
+        ''GetPrettyName''
+    );
+
+    perform acs_sc_impl_alias__delete(
+        ''portal_datasource'',
+        ''tlf_assignment_portlet'',
+        ''Link''
+    );
+
+    perform acs_sc_impl_alias__delete(
+        ''portal_datasource'',
+        ''tlf_assignment_portlet'',
+        ''AddSelfToPage''
+    );
+
+    perform acs_sc_impl_alias__delete(
+        ''portal_datasource'',
+        ''tlf_assignment_portlet'',
+        ''RemoveSelfFromPage''
+    );
+
+    perform acs_sc_impl_alias__delete(
+        ''portal_datasource'',
+        ''tlf_assignment_portlet'',
+        ''Show''
+    );
+
+    perform acs_sc_impl_alias__delete(
+        ''portal_datasource'',
+        ''tlf_assignment_portlet'',
+        ''Edit''
+    );
+
+    perform acs_sc_impl__delete(
+        ''portal_datasource'',
+        ''tlf_assignment_portlet''
+    );
+
+    begin
+    
+        select datasource_id into ds_id
+            from portal_datasources
+        where name = ''tlf_assignment_portlet'';
+
+    end;
+
+  if ds_id is not null then
+    perform portal_datasource__delete(ds_id);
+  end if;
+  
+  return 0;
+
+end;
+' language 'plpgsql';
+
+select inline_0();
+drop function inline_0();
Index: openacs-4/packages/tlf-assignments/tcl/tlf-assignment-formfields-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/tcl/tlf-assignment-formfields-procs.tcl,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/tcl/tlf-assignment-formfields-procs.tcl	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,582 @@
+::xo::library doc {
+    TLF XoSyllabus
+    @author Markus Moser
+    @creation-date 2011-03-02
+}
+
+##::xo::db::require package xowf
+::xo::library require -package xowf xowf-procs
+::xo::library require -package xowiki form-field-procs
+
+
+namespace eval ::xowiki::formfield {
+    Class create subst_label -superclass label
+
+    subst_label instproc render_input {} {
+        if {${:value} eq "passed"} {
+            set :value [lang::message::lookup [::xo::cc set locale] tlf-assignments.passed ""]
+        } elseif {${:value} eq "not passed"} {
+            set :value [lang::message::lookup [::xo::cc set locale] tlf-assignments.not_passed ""]
+        }
+        next
+    }
+}
+
+namespace eval ::xowiki::formfield {
+    ###
+    ### opentext_sample
+    ### OT sample solutions
+    ###
+    Class create opentext_compound -superclass FormGeneratorField -parameter {
+    }
+
+    opentext_compound instproc initialize {} {
+        :create_components  [subst {
+            {opentext_sample {opentext_sample,repeat=3..10,label=}}
+        }]
+        set :__initialized 1
+    }
+
+
+    Class create opentext_sample -superclass FormGeneratorField -parameter {}
+
+    opentext_sample instproc initialize {} {
+        if {${:__state} ne "after_specs"} {
+            return
+        }
+        :instvar input_field_names
+        :create_components  {
+            {solution {richtext,label=#tlf-assignments.other_rating#,editor=ckeditor4,\
+			   customConfig=/resources/tlf-assignments/ck_config_minimal.js,\
+			   toolbar=Minimal}}
+            {qvar {scale,horizontal=true,default=3,label=#tlf-assignments.qvar#,n=10}}
+        }
+        regexp {opentext_sample.opentext_sample.(\d*)} ${:name} match nr
+        set :nr $nr
+        set :__initialized 1
+    }
+
+    opentext_sample instproc check=valid {value} {
+        uplevel 1 [list set __langPkg "tlf-assignments"]
+        set exercise_form [${:object} get_property -name exercise_form]
+        if {$exercise_form eq "ot"} {
+            set answer [:get_named_sub_component_value solution]
+            if {$answer eq ""} {
+                # util_user_message -message "Alle drei Antwortfelder müssen befüllt sein."
+                return 0
+            }
+            set qvar [:get_named_sub_component_value qvar]
+            if {![string is integer $qvar]} {
+                #util_user_message -message "Qualitätswert muss eine ganze Zahl sein"
+                return 0
+            }
+            if {$qvar > 10 || $qvar < 1} {
+                #util_user_message -message "Qualitätswert muss zwischen 1 und 10 liegen"
+                return 0
+            }
+        }
+        return 1
+    }
+
+    opentext_sample instproc convert_to_internal {} {
+        :instvar nr
+        set package_id [${:object} package_id]
+        #create sample solutions
+        set answer [:get_named_sub_component_value solution]
+        set x ${:nr}
+        if {$answer ne ""} {
+            set qvar [expr {[:get_named_sub_component_value qvar]/10.0}]
+            set template [string trimleft [
+                                           $package_id resolve_page abgabe-stud.wf method_var] :]
+            set existing_page [
+                               $package_id resolve_page_name [${:object} set name]___$x]
+            if {$existing_page eq ""} {
+                ::xowiki::FormPage create solution -noinit \
+                    -set instance_attributes [subst {
+                        exercise_form ot assignment_id [
+                                                        list [${:object} set item_id]]
+                        answer [list $answer] qvar [list $qvar]
+                        bvar [list $qvar] is_sample 1
+                    }]	\
+                    -set text {} \
+                    -set state {graded} \
+                    -set page_template $template \
+                    -set package_id $package_id \
+                    -set name [${:object} set name]___$x \
+                    -set title {Opentext Exercise} \
+                    -set publish_status ready \
+                    -set parent_id [$package_id set folder_id]
+                solution save_new
+            } else {
+                #update
+                $existing_page set_property qvar $qvar
+                $existing_page set_property bvar $qvar
+                $existing_page set_property answer $answer
+                $existing_page set_property is_sample 1
+                $existing_page save
+            }
+        }
+    }
+}
+namespace eval ::xowiki::formfield {
+    Class create pretty_file -superclass file -parameter {
+        {size 40}
+        {plagcheck 1}
+        {resub 0}
+	{viruscheck false}
+        link_label
+    }
+    #resub: if this is set to true, the current content of the formfield will not be displayed
+
+    pretty_file instproc render_input {} {
+        :instvar value content-type resub plagcheck
+        set package_id [${:object} package_id]
+        array set entry_info [:entry_info]
+        set file_item [[$package_id] lookup -parent_id [${:object} item_id] -name file:${:name}]
+        set :required false
+        next
+        set amiadmin [expr {[permission::permission_p -object_id $package_id -privilege "admin"] && [${:object} set state] ne "graded"}]
+        set register_me 1
+
+        if {$resub} {
+            set nonce [security::csp::nonce]
+            ::html::t -disableOutputEscaping "
+               <script type='text/javascript' nonce='$nonce'>
+                 \$('#__a__old_value_${:name}').hide();
+                 \$('#__old_value_${:name}').val('');
+               </script>"
+        }
+    }
+
+    pretty_file instproc check=files_not_empty {value} {
+        uplevel 1 [list set __langPkg "tlf-assignments"]
+        set file_found 0
+        for {set i 1} {$i <= 5} {incr i} {
+            set file [${:object} lookup_cached_form_field -name file$i]
+            set file_item [${:object} get_property -name file:file$i]
+            if {[$file value] ne "" || $file_item ne ""} {
+                set file_found 1
+                break
+            }
+        }
+        return $file_found
+    }
+}
+
+namespace eval ::xowiki::formfield {
+    Class create date_with_widget -superclass date
+    date_with_widget instproc initialize {} {
+        ::xo::Page requireJS "/resources/tlf-assignments/tlf-assignment.js"
+        set :widget_type date
+        set :format [string map [list _ " "] ${:format}]
+        array set :defaults {year 2000 month 01 day 01 hour 00 min 00 sec 00}
+        array set :format_map {
+            SS    {SS    %S 1}
+            MI    {MI    %M 1}
+            HH24  {HH24  %H 1}
+            DD    {DD    %e 0}
+            MM    {MM    %m 1}
+            MON   {mon   %m 1}
+            MONTH {month %m 1}
+            YYYY  {YYYY  %Y 0}
+        }
+        foreach c ${:components} {
+            $c destroy
+        }
+        :components [list]
+
+        foreach element [split ${:format}] {
+            lassign [set :format_map($element)] class code trim_zeros
+            #
+            # create for each component a form field
+            #
+            set name $class
+            set c [::xowiki::formfield::$class create [self]::$name \
+                       -name ${:name}.$name -id ${:id}.$name \
+                       -locale ${:locale} -object ${:object}]
+            [self]::$name set required 1
+            if {$name eq "YYYY"} {
+                [self]::$name set value [clock format [clock seconds] -format %Y]
+            }
+            if {$name eq "month"} {
+                set stripped_mon [string trimleft [clock format [clock seconds] -format %m] 0]
+                [self]::$name set value $stripped_mon
+            }
+            if {$name eq "DD"} {
+                [self]::$name set value [clock format [clock seconds] -format %e]
+            }
+            if {$name eq "HH24"} {
+                [self]::$name set value [clock format [clock seconds] -format %H]
+            }
+            if {$name eq "MI"} {
+                [self]::$name set value 0
+            }
+
+            $c set_disabled [info exists :disabled]
+            $c set code $code
+            $c set trim_zeros $trim_zeros
+            if {$c ni ${:components}} {lappend :components $c}
+        }
+    }
+
+    date_with_widget instproc check=time_to {value} {
+        uplevel 1 [list set __langPkg "tlf-assignments"]
+        set time_from [${:object} lookup_cached_form_field -name time_from]
+        set time_from [clock scan [$time_from get_compound_value]]
+        set time_to [clock scan [:get_compound_value]]
+        if {$time_from >= $time_to} {
+            # util_user_message -message "Enddatum muss nach Startdatum liegen"
+            return 0
+        }
+        return 1
+    }
+
+    date_with_widget instproc check=release_date {value} {
+        uplevel 1 [list set __langPkg "tlf-assignments"]
+        set freigabe [${:object} lookup_cached_form_field -name beurteilung]
+        if {[$freigabe set value] ne "date"} {
+            return 1
+        }
+        set release_date [clock scan [:get_compound_value]]
+        if {[clock seconds] > $release_date} {
+            # util_user_message -message "Freigabedatum muss in der Zukunft liegen"
+            return 0
+        }
+        return 1
+    }
+
+    date_with_widget instproc value {args} {
+        if {[llength $args] == 0} {
+            set v [:get_compound_value]
+            #my msg "${:name}: reading compound value => '$v'"
+            return $v
+        } else {
+            #my msg "${:name}: setting compound value => '[lindex $args 0]'"
+            :set_compound_value [lindex $args 0]
+            set :value [lindex $args 0]
+        }
+    }
+
+    date_with_widget instproc check=check_resubmission {value} {
+        uplevel 1 [list set __langPkg "tlf-assignments"]
+        set ast [${:object} get_property -name assignment_id]
+        ::xo::db::CrClass get_instance_from_db -item_id $ast
+        set resub_time [clock scan [:get_compound_value]]
+        if {[clock seconds] > $resub_time} {
+            # util_user_message -message "Überarbeitungsfrist muss in der Zukunft liegen."
+            return 0
+        }
+        return 1
+    }
+
+    date_with_widget instproc render_input {} {
+        set id "F.[${:object} name].${:name}"
+        set button_id cal_item.$id
+        ::html::input -id $button_id -type button -style "height:23px; width:23px; background: url('/resources/acs-templating/calendar.gif');"
+        template::add_event_listener -id $button_id -script [subst {return showWikiCalendarWithDateWidget('$id', 'y-m-d');}]
+        next
+    }
+
+    date_with_widget instproc validate {obj} {
+        #compound fields ignore if a validator is defined for them and try to validate each of their components
+        :instvar name required
+        # use the 'value' method to deal e.g. with compound fields
+        set value [:value]
+        foreach validator ${:validator} {
+            set errorMsg ""
+            #
+            # The validator might set the variable errorMsg in this scope.
+            #
+            set success 1
+            set validator_method check=$validator
+            set proc_info [:procsearch $validator_method]
+            #my msg "++ ${:name}: field-level validator exists '$validator_method' ? [expr {$proc_info ne {}}]"
+            if {$proc_info ne ""} {
+                # we have a slot checker, call it
+                #my msg "++ call-field level validator $validator_method '$value'"
+                set success [:validation_check $validator_method $value]
+            }
+            if {$success == 1} {
+                # the previous check was ok, check now for a validator on the
+                # object level
+                set validator_method validate=$validator
+                set proc_info [$obj procsearch $validator_method]
+                #my msg "++ ${:name}: page-level validator exists ? [expr {$proc_info ne {}}]"
+                if {$proc_info ne ""} {
+                    set success [$obj $validator_method $value]
+                    #my msg "++ call page-level validator $validator_method '$value' returns $success"
+                }
+            }
+            if {$success == 0} {
+                #
+                # We have an error message. Get the class name from procsearch and construct
+                # a message key based on the class and the name of the validator.
+                #
+                set cl [namespace tail [lindex $proc_info 0]]
+                #my msg "__langPkg?[info exists __langPkg]"
+                if {![info exists __langPkg]} {set __langPkg "xowiki"}
+                return [_ $__langPkg.$cl-validate_$validator [list value $value errorMsg $errorMsg]]
+                #return [::lang::message::lookup "" xowiki.$cl-validate_$validator %errorMsg% [list value $value errorMsg $errorMsg] 1]
+            }
+        }
+        return ""
+    }
+}
+
+namespace eval ::xowiki::formfield {
+    textarea instproc check=safe_html {value} {
+        set msg [ad_html_security_check $value]
+        if {$msg ne ""} {
+            :uplevel 1 [list set errorMsg $msg]
+            return 0
+        }
+        return 1
+    }
+}
+
+namespace eval ::xowiki::formfield {
+    #generic validation for submission types
+    FormField instproc check=grading_validator {value} {
+        uplevel 1 [list set __langPkg "tlf-assignments"]
+        set ast [${:object} get_property -name assignment_id]
+        set grading_type [$ast get_property -name modus]
+        set maxpoints [$ast get_property -name points]
+        ds_comment "doing a grade validation check for $grading_type"
+        GradingType=${grading_type} create [self]::gtype
+        if {$grading_type eq "points"} {
+            return [[self]::gtype validateInput [list $value $maxpoints]]
+        } else {
+            return [[self]::gtype validateInput [list $value]]
+        }
+    }
+}
+
+namespace eval ::xowiki::formfield {
+    #generic validation for submission types
+    Class create composite_selector -superclass form_page  -parameter {}
+
+    composite_selector instproc initialize {} {
+        :instvar form_object_item_ids package_id object scope parent_id
+        next
+        set package_id [$object package_id]
+        set pt [$package_id resolve_page create-assignment.wf method_var]
+        if {$pt eq ""} {
+            error "could not find create-assignment wf. make sure it is in the package path"
+        }
+        set form_object_item_ids [$pt set item_id]
+
+        if {$form_object_item_ids eq ""} {
+            error "Cannot lookup Form 'assignment_wf'"
+        }
+        :msg "done with init"
+    }
+
+    composite_selector instproc render_input {} {
+        next
+    }
+
+    label instproc check=no_groups {value} {
+           uplevel 1 [list set __langPkg "tlf-assignments"]   
+        set groups [[${:object} lookup_cached_form_field -name zuweisen] value]
+        if {$groups eq "gruppe"} {
+            return 0
+        }
+        return 1
+    }
+
+    label instproc check=no_members {value} {
+        uplevel 1 [list set __langPkg "tlf-assignments"]
+        set groups [[${:object} lookup_cached_form_field -name zuweisen] value]
+        if {$groups eq "einzelne"} {
+            return 0
+        }
+        return 1
+    }
+}
+
+namespace eval ::xowiki::formfield {
+
+    Class create points -superclass text
+
+    points instproc initialize {} {
+        next
+    }
+
+    points instproc convert_to_internal {} {
+        if {[set value [:value]] ne ""} {
+            if {[lc_get "decimal_point"] eq ","} {
+                regsub "," $value "." value
+            }
+            ${:object} set_property -new 1 ${:name} [expr {$value}]
+            return
+        }
+    }
+}
+
+namespace eval ::xowiki::formfield {
+
+    Class create labeled_scale -superclass radio -parameter {{n 5} {horizontal true} {labels ""}}
+
+    labeled_scale instproc initialize {} {
+        :instvar n
+        set labels ${:labels}
+        set options [list]
+        for {set i 1} {$i <= $n} {incr i} {
+            lappend options [list [lindex $labels $i-1] $i]
+        }
+        :options $options
+        next
+    }
+}
+
+namespace eval ::xowiki::formfield {
+    ###########################################################
+    #
+    # ::xowiki::formfield::candidate_box_select_jquery
+    #
+    ###########################################################
+    Class create candidate_box_select_jquery -superclass select -parameter {
+        {role ""}
+    }
+    candidate_box_select_jquery instproc render_input {} {
+        ::xo::Page requireJS "/resources/xowiki/jquery/jquery-ui.js"
+        :instvar role
+        if {$role ne ""} {
+            set object_id [::xo::role::$role get_object_id ${:object}]
+            set :options [::xo::role::$role get_members -object_id $object_id]
+        }
+        set id ${:name}
+        ::html::br
+        ::html::div -class "candidate-selection col-md-4" {
+            ::html::div -class "workarea selected col-md-4" {
+                ::html::h4 { ::html::t "#tlf-assignments.current_sel#"}
+                ::html::ul -id ${id}_selection -class {region selected} {
+                    foreach o [:value] {
+                        set object_type [acs_object_type $o]
+                        if {$object_type eq "user"} {
+                            set label [::xo::dc get_value get_info "select last_name || ', ' || first_names || '; ' || username as title FROM acs_users_all  where user_id = :o"]
+                        } elseif {$object_type eq "group"} {
+                            group::get -group_id $o -array group_info
+                            set label $group_info(group_name)
+                        }
+                        ::html::li -data-uid $o -class {candidates list-group-item} {::html::t $label}
+                    }
+                }
+            }
+            ::html::div -class "col-md-4" {
+                ::html::div -class "workarea candidate-selection col-md-4" {
+                    ::html::h4 { ::html::t "#tlf-assignments.selections#"}
+                    ::html::ul -id ${id}_candidates -class region {
+                        foreach o ${:options} {
+                            lassign $o label rep
+                            if {$rep ni ${:value}} {
+                                ::html::li -data-uid $rep -class {list-group-item candidates} {::html::t $label}
+                            }
+                        }
+                    }
+                }
+            }
+        }
+        #helper stuff
+        set :style "display:none;"
+        ::html::textarea [:get_attributes id name cols rows style {CSSclass class}] {
+            ::html::t [:value]
+        }
+        #register sortable widget
+        set js "
+        \$(document).ready(function() {
+            \$('#${id}_candidates').sortable({
+                connectWith: '#${id}_selection'
+            });
+            \$('#${id}_selection').sortable({
+                connectWith: '#${id}_candidates',
+                update: function(event, ui) {
+                    var txtareastring = '';
+                    \$('#${id}_selection li').each(function(i,e) {
+                        txtareastring+=e.getAttribute('data-uid')+' ';
+                    });
+                    \$('textarea\[name=${:name}\]').val(txtareastring);
+                }
+            });
+            if (\$('#groups_candidates > li').length == 0) {
+                \$('#group_conditional > div').hide();
+            };
+            if (\$('#bearbeiter_candidates > li').length == 0) {
+                \$('#member_conditional > div').hide();
+            };
+
+        });
+        "
+        ::html::script -nonce [security::csp::nonce] { html::t $js}
+    }
+
+    candidate_box_select_jquery instproc check=options {value} {
+        #skip validation for this legacy field
+        return 1
+    }
+}
+
+namespace eval ::xowiki::formfield {
+    
+    Class create conditional_ff -superclass select -parameter {
+        {condition name}
+        {condition_label ""}
+        onselection
+    } -ad_doc {
+        Conditional_ff from assignments-core
+    }
+
+    conditional_ff instproc render_input {} {
+        set atts [:get_attributes id name {CSSclass class}]
+        set disabled_p [:is_disabled]
+        if {$disabled_p} {lappend atts disabled true}
+        if {[:multiple]} {
+            lappend atts multiple [:multiple]
+        }
+        set options [:options]
+        if {![:required]} {
+            set options [linsert $options 0 [list "--" ""]]
+        }
+
+        set html_id [lindex [:get_attributes id] 1]
+        template::add_event_listener -event change -id $html_id -script [subst {
+            conditional_unhide('$html_id','${:condition}','${:onselection}');
+        }]
+
+        ::html::select $atts {
+            foreach o $options {
+                lassign $o label rep
+                set atts {}
+                if {$disabled_p} {
+                    lappend atts disabled true
+                }
+                lappend atts value $rep
+                #:msg "lsearch {[:value]} $rep ==> [lsearch [:value] $rep]"
+                if {$rep in [:value]} {
+                    lappend atts selected on
+                }
+                ::html::option $atts {::html::t $label}
+                ::html::t \n
+            }
+        }
+    }
+
+    #legacy validator from tlf-assignment
+    conditional_ff instproc check=members_valid {value} -returns boolean {
+        uplevel 1 [list set __langPkg "tlf-assignments"]
+        switch $value {
+            einzelne {
+                if {[[${:object} lookup_cached_form_field -name bearbeiter] value] eq ""} {
+                    return 0
+                }
+            }
+            gruppe {
+                if {[[${:object} lookup_cached_form_field -name groups] value] eq ""} {
+                    return 0
+                }
+            }
+        }
+        return 1
+    }
+}
+::xo::library source_dependent
Index: openacs-4/packages/tlf-assignments/tcl/tlf-assignment-groupmgr-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/tcl/tlf-assignment-groupmgr-procs.tcl,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/tcl/tlf-assignment-groupmgr-procs.tcl	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,352 @@
+namespace eval ::xowiki::includelet {
+#simple group manager
+#author: marmoser
+#creation date: 05/07/2011
+
+::xowiki::IncludeletClass create tlf_groupmgr \
+    -superclass ::xowiki::Includelet \
+    -parameter {
+        {__decoration none}
+    }
+
+    tlf_groupmgr instproc group_assign {
+        -group_id:integer,required
+        -members:required
+        {-rel_type membership_rel}
+        {-member_state ""}
+    } {
+        set package_id [::xo::cc set package_id]
+        set folder [$package_id set folder_id]
+        set template [$package_id lookup -name create-assignment.wf]
+        set old_members [group::get_members -group_id $group_id]
+        foreach m $members {
+            if {$m ni $old_members} {
+                group::add_member -group_id $group_id -user_id $m \
+                    -rel_type $rel_type -member_state $member_state
+            }
+        }
+        foreach m $old_members {
+            if {$m ni $members} {
+                group::remove_member -group_id $group_id -user_id $m
+            }
+        }
+        set package_id [::xo::cc package_id]
+        #update gb_party_map
+        ns_log notice "tlf_groupmgr: update party_map"
+        foreach gb_entry [::xo::dc list affected_gb_entries "select gb_entry_id
+            from xowiki_form_instance_item_index x join gb_entry g on (g.source_key::integer = x.item_id)
+            and g.source_package = :package_id and :group_id in (
+                select regexp_split_to_table( (
+                    select regexp_replace( hkey->'groups',  E'\\r', '','g'))
+                    , E'\\\\s')::integer
+                )"] {
+            ns_log notice "tlf_groupmgr: gb_entry $gb_entry"
+            # insert into gb_party_map every group member that is not
+            # in there already
+            ::xo::dc dml update_gb_party_map {
+                insert into gb_party_map 
+                    select m.gb_entry_id, ga.member_id as party_id
+                      from group_member_map ga, 
+                           gb_party_map m
+                     where group_id = :group_id 
+                       and m.gb_entry_id = :gb_entry
+                       and ga.member_id != m.party_id
+            }
+        }
+    }
+
+    tlf_groupmgr instproc render {} {
+        set nonce [expr {[info exists ::__csp_nonce] ? "nonce=\"$::__csp_nonce\"" : ""}]
+        set amiswa [acs_user::site_wide_admin_p -user_id [::xo::cc user_id]]
+        set package_id [::xo::cc set package_id]
+        ::xo::Page requireCSS /resources/tlf-assignments/tlf-assignments.css
+        set ajaxhelper 0
+        ::xo::Page requireJS urn:ad:js:jquery
+        ::xo::Page requireJS "/resources/xowiki/jquery/jquery-ui.js"
+        ::xo::Page requireJS "/resources/tlf-assignments/tlf-assignment.js"
+        ::xo::Page requireJS "
+        function create_group(id, uri) {
+            var selected_users = \$(\"#users li\").map(function(i,e) {
+                return e.getAttribute('data-uid');
+            }).get().join(',');
+            var groupname = \$(\"#groupname\").val();
+            if (groupname == '') { alert('[_ tlf-assignments.group_name_empty]'); return false; }
+            var xocc = '[::xo::cc set url]';
+            \$.ajax({
+                url: xocc+'?a=create-group',
+                type: 'POST',
+                async: false,
+                data: 'selected='+selected_users+'&id='+id+'&name='+groupname,
+                complete: function(data) {
+                    location.replace(xocc);
+                },
+                error : function(data) {
+                    console.debug('error');
+                }
+            });
+        }"
+        set html ""
+#        ::xo::Page set_property doc menubar [[::xo::cc package_id] MenuBar]
+        set action [::xo::cc query_parameter a]
+        set current [::xo::cc query_parameter id]
+        set comm_id [dotlrn_community::get_community_id]
+        set gname groupmgr_${comm_id}
+        set group_list [::xo::dc list groups "select group_id, group_name from groups where description = :gname"]
+        if {$current ne "" && $current ni $group_list} {
+            error "Invalid group ID"
+            ad_script_abort
+        }
+        if {$action eq "create-group"} {
+            set selected [ns_queryget selected]
+            set group_id [ns_queryget id]
+            set group_name [ns_queryget name]
+            if {$group_name eq ""} {
+                return
+            }
+            if {$group_id eq ""} {
+                set group_id [group::new -group_name $group_name]
+            }
+            array set gr [subst {description groupmgr_${comm_id} group_name "$group_name"}]
+            group::update -group_id $group_id -array gr
+            :group_assign -group_id $group_id -members [split $selected ,]
+        }
+        if {$action eq "view_detail"} {
+            set group_id [ns_queryget id]
+            group::get -group_id $group_id -array group_info
+            append html "<h2>[_ tlf-assignments.group_memb]  $group_info(group_name)</h2>"
+            foreach member [group::get_members -group_id $group_id] {
+                ::xo::dc foreach comm_id1 "select community_id as c_id from dotlrn_community_applets
+                    where package_id = :package_id" {
+                    #if {[dotlrn_community::get_member_role $c_id $member] ne ""} 0{
+                        append html [::tlf_cassignments::get_user_name -user_id $member]<br>
+                    #}
+                }
+            }
+            append html "<br><a class='button' href='[ns_queryget return_url]'>Zurück</a>
+            <a class='button' href='groupmgr?a=edit&id=$group_id'>[_ xowiki.edit]</a>"
+            return $html
+        }
+        if {$action eq "edit"} {
+            #edit a group
+            ::xo::Page requireCSS "/resources/tlf-assignments/tlf-assignments.css"
+            group::get -group_id $current -array group_info
+            append html "<h3>[_ tlf-assignments.group_edit]: $group_info(group_name)</h3>"
+            set allmembers [::xo::role::tlf_ast_group_stud get_members -object_id $comm_id]
+            set members [group::get_members -group_id $current]
+            set selected ""
+            set candidates ""
+            set js ""
+            foreach {member} $allmembers {
+                foreach {name id} $member {
+                    set js_label  [::xowiki::Includelet js_encode $name]
+                    set js_rep [::xowiki::Includelet js_encode $id]
+                    if {$id in $members} {
+                        append selected "<li class='candidates list-group-item' data-uid='$id'>$js_label</li>"
+                    } else {
+                        append candidates "<li class='candidates list-group-item' data-uid='$id'>$js_label</li>"
+                    }
+                }
+            }
+            append js {
+                $(document).ready(function() {
+                    $( "#users_candidates").sortable({
+                         connectWith: ".region"
+                    });
+                    $( "#users").sortable({
+                        connectWith: ".region"
+                    });
+                })
+            }
+            set save_html_id "create-group-${current}"
+            append html "
+            <div class='row form-shading'>
+                <div class='col-md-4'>
+                    <h4>[_ tlf-assignments.group_name]</h4>
+                    <input type='text' id='groupname' value='$group_info(group_name)' style='width:100%;'>
+                </div>
+                <div class='col-md-4 candidate-selection'>
+                    <h4>[_ tlf-assignments.current_sel]</h4>
+                     <ul class='region selected' name='users' id='users'>$selected</ul>
+                </div>
+                <div class='col-md-4'>
+                    <div class='candidate-selection'>
+                        <h4>[_ tlf-assignments.selections]</h4>
+                        <div>
+                            <ul class='region' id='users_candidates'>
+                                $candidates
+                            </ul>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div style='margin-top:1em;'><a id=\"${save_html_id}\" class='button' href=\"#\">[_ tlf-assignments.save_edit]</a></div>
+            <script type='text/javascript' $nonce>
+              $js
+              var e = document.getElementById('${save_html_id}');
+              e.addEventListener('click', function (event) {create_group('$current');}, false);
+            </script>
+            "
+            return $html
+        } elseif {$action eq "delete"} {
+            set package_id [::xo::cc set package_id]
+            #delete a group
+            #select assignments with this group
+            set folder [$package_id set folder_id]
+            set template [$package_id lookup -name create-assignment.wf]
+            set refs [::xo::dc list referenced_assignments "select item_id
+                FROM xowiki_form_instance_item_index bt
+                WHERE page_template IN (:template)
+                AND publish_status='ready'
+                AND parent_id = :folder
+                AND :current::varchar = any(string_to_array((hkey->'groups')::text,' '))
+                ORDER BY name DESC"]
+            if {$refs ne ""} {
+                append html "[_ tlf-assignments.references]<br>"
+                foreach item $refs {
+                    ::xo::db::CrClass get_instance_from_db -item_id $item
+                    append html "<a href='[$item pretty_link]'>[$item set title] </a><br><br>"
+                }
+            } else {
+                group::delete $current
+            }
+        } elseif {$action eq "neu"} {
+            append html "<h3>[_ tlf-assignments.group_new]</h3>"
+            set allmembers [::xo::role::tlf_ast_group_stud get_members -object_id $comm_id]
+            set candidates ""
+            foreach {member} $allmembers {
+                foreach {name id} $member {
+                    set js_label  [::xowiki::Includelet js_encode $name]
+                    append candidates "<li class='candidates list-group-item' data-uid='$id'>$js_label</li>"
+                }
+            }
+            if {$candidates eq ""} {
+                set field_display "display:none;"
+                set text_display ""
+            } else {
+                set field_display ""
+                set text_display "display:none;"
+            }
+            append js {
+                $(document).ready(function() {
+                    $( "#users_candidates").sortable({
+                         connectWith: ".region"
+                    });
+                    $( "#users").sortable({
+                        connectWith: ".region"
+                    });
+                })
+            }
+            append html "
+            <div class='row form-shading'>
+                <div class='col-md-4'>
+                    <h4>[_ tlf-assignments.group_name]</h4>
+                    <input type='text' id='groupname' style='width:100%;'>
+                </div>
+                <div class='col-md-4 candidate-selection'>
+                    <div class='workarea selected'>
+                        <h4>[_ tlf-assignments.current_sel]</h4>
+                        <ul class='region selected' name='users' id='users'>
+                    </ul>
+                    </div>
+                </div>
+                <div class='col-md-4'>
+                    <div>
+                        <h4>[_ tlf-assignments.selections]</h4>
+                        <div style='$text_display'>[_ tlf-assignments.empty_com]</div>
+                        <div class='candidate-selection' style='$field_display'>
+                            <ul class='region' id='users_candidates'>
+                                $candidates
+                            </ul>
+                        </div>
+                        </div>
+                   </div>
+                </div>
+                <div class='form-help-text' style='$field_display'>
+                    <img width='12' height='9' border='0' style='margin-right:5px' title='Help text' alt='Help text' src='/shared/images/info.gif'>[_ tlf-assignments.group_help]
+                </div>
+                <div style='margin-top:1em;'><a id=\"create-group-button\" class='button' href=\"#\">[_ tlf-assignments.group_create]</a></div>
+                <script type='text/javascript' $nonce>
+                   $js
+                   var e = document.getElementById('create-group-button');
+                   e.addEventListener('click', function (event) {create_group('');}, false);
+                </script>"
+            return $html
+        }
+        #list all existing groups
+        set csv ""
+        append html "
+                     <table class='list-table'>
+                     <caption>[_ tlf-assignments.comm_groups]</caption>
+                     <tr><th>[_ tlf-assignments.group_name]</th>
+                     <th>[_ tlf-assignments.group_memb]</th>
+                     <th>[_ tlf-assignments.actions]</th>"
+        append html "</tr>"
+        set gname groupmgr_${comm_id}
+        ::xo::dc foreach gr "select group_id, group_name from groups where description = :gname" {
+            append html "<tr><td>$group_name</td><td>"
+            foreach member [group::get_members -group_id $group_id] {
+                ::xo::dc foreach comm_id2 "select community_id as c_id from dotlrn_community_applets
+                where package_id = :package_id" {
+                    #if {[dotlrn_community::get_member_role $c_id $member] ne ""} {
+                        if {$action eq "export"} {
+                            acs_user::get -user_id $member -array user_info
+                            append csv "$group_name; $user_info(username);  $user_info(last_name); $user_info(first_names)\n"
+                            array unset user_info
+                        }
+                        append html [subst {<a href="/shared/community-member?user_id=$member">[::tlf_cassignments::get_user_name -user_id $member]</a><br>}]
+                    #}
+                }
+            }
+            append html "
+               </td>
+               <td>
+                  <a href='[::xo::cc set url]?a=edit&id=$group_id' alt='bearbeiten'>
+                     <img src='/resources/tlf-assignments/images/icons_famfamfam/page_white_edit.png'>
+                  </a>&nbsp;
+                  <a class='tlf-assignments.del_conf' href='[::xo::cc set url]?a=delete&id=$group_id' alt='löschen'>
+                     <img src='/resources/tlf-assignments/images/icons_famfamfam/bin_empty.png'>
+                  </a>
+               </td>"
+            append html "</tr>"
+        }
+        append html "
+        <script type='text/javascript' $nonce>
+            var elems = document.getElementsByClassName('tlf-assignments.del_conf');
+            for (var i = 0, l = elems.length; i < l; i++) {
+               elems\[i\].addEventListener('click', function (event) {
+                  if (!confirm('[_ tlf-assignments.del_conf]')) {
+                     event.preventDefault();
+                  }
+               }, false);
+            }
+        </script>"
+        if {$csv ne ""} {
+            ns_set update [ns_conn outputheaders] content-disposition [subst {attachment; filename="[dotlrn_community::get_community_shortname $comm_id]_[dotlrn_community::get_community_name  $comm_id].csv"}]
+            ns_return 200 text/csv $csv
+            ad_script_abort
+        }
+        append html "</table>
+                        <a href='groupmgr?a=neu'>[_ tlf-assignments.group_new]</a>"
+        return $html
+    }
+}
+
+namespace eval ::tlf_groupmgr {
+
+    ad_proc -private ::tlf_groupmgr::remove_user_from_community {
+        community_id
+        user_id
+    } {
+        remove user from groups in this community
+    } {
+        set gname groupmgr_${community_id}
+        ::xo::dc transaction {
+            ::xo::dc foreach gr "select group_id, group_name from groups where description = :gname" {
+                if {[group::member_p -user_id $user_id -group_id $group_id]} {
+                    group::remove_member -group_id $group_id -user_id $user_id
+                    ns_log notice "remove_user_from_community removed $user_id from $group_id"
+                }
+            }
+        }
+    }
+}
Index: openacs-4/packages/tlf-assignments/tcl/tlf-assignment-includelet-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/tcl/tlf-assignment-includelet-procs.tcl,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/tcl/tlf-assignment-includelet-procs.tcl	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,1223 @@
+::xo::library doc {
+
+    Includelet to draw a list of items, adapted from podcasting
+    package
+
+}
+
+namespace eval ::xowiki::includelet {
+
+    ::xowiki::IncludeletClass create tlf_assignment_list \
+        -superclass ::xowiki::Includelet \
+        -parameter {
+            {__decoration none}
+        }
+
+    tlf_assignment_list instproc render {} {
+        # this is our current page, plain and encoded to be put into url queries
+        set return_url [::xo::cc set url]?[::xo::cc actual_query]
+        set return_url_encoded [ad_urlencode_path [::xo::cc set url]]?[ad_urlencode_query [::xo::cc actual_query]]
+        set orderby [::xo::cc query_parameter orderby name,asc]
+        ::xo::Page requireCSS "/resources/tlf-assignments/tlf-assignments.css"
+        ::xo::Page requireJS "/resources/tlf-assignments/tlf-assignment.js"
+        set package_id [${:__including_page} set package_id]
+        set community_id [dotlrn_community::get_community_id]
+        set amiadmin [permission::permission_p -object_id $package_id -privilege "admin"]
+        #overview exercises
+        set view [::xo::cc query_parameter view]
+        set type [::xo::cc query_parameter type]
+        set is_shared 0
+        set display_members [parameter::get -package_id [::xo::cc set package_id] \
+            -parameter member_display \
+            -default 0]
+        set substateclause [expr {$amiadmin ? "" : "and state = 'published'"}]
+        set assignments [::xowiki::FormPage get_form_entries \
+           -base_item_ids [string trimleft [$package_id resolve_page create-assignment.wf method_var] :] \
+           -form_fields [list] \
+           -always_queried_attributes "_state _description _instance_attributes _creation_date" \
+           -package_id $package_id \
+           -orderby "state desc, (hkey->'time_to') asc, title asc" \
+           -publish_status "ready" \
+           -parent_id [$package_id set folder_id] \
+           -extra_where_clause $substateclause \
+           -from_package_ids "*"]
+
+        ################### PARAMETER 1: LIST OF NOT YET SUBMITTED WORK ######################
+        if {$view ne "" && [string is integer -strict $view]} {
+            if {![permission::permission_p -object_id $package_id -privilege "admin"] ||
+                ![permission::permission_p -object_id $view -privilege "admin"]} {
+                ad_returnredirect .
+                ad_script_abort
+            }
+            set ast [::xo::db::CrClass get_instance_from_db -item_id [::xo::cc query_parameter view]]
+
+            if {$type eq "missing"} {
+                set bulk_actions [list [_ tlf-assignments.nachfrist_create] [$ast pretty_link] [_ tlf-assignments.nachfrist_create] ]
+                set m write_nf
+                set op set_nf
+                ::template::multirow create tbl_missing matnr name user_id nf item_id
+                ::template::list::create \
+                    -name "tbl_missing" \
+                    -multirow "tbl_missing" \
+                    -pass_properties {view type} \
+                    -has_checkboxes \
+                    -caption [_ tlf-assignments.missing] \
+                    -no_data [_ tlf-assignments.no_data]  \
+                    -key item_id \
+                    -bulk_actions $bulk_actions \
+                    -bulk_action_export_vars {m op return_url} \
+                        -elements [subst {
+                        item_id {
+                            label {<input id="tbl_missing.check_all" name="_dummy" title="[_ acs-templating.lt_Checkuncheck_all_rows]" type="checkbox">}
+                            html "align=center"
+                            sub_class "narrow"
+                            display_template {
+                                <input type="checkbox" name="item_id" value="@tbl_missing.item_id@" id="tbl_missing.@tbl_missing.item_id@" title="[_ acs-templating.lt_Checkuncheck_this_row]">
+                            }
+                        }
+                        matnr {
+                            label "#tlf-assignments.matnr#"
+                        }
+                        name {
+                            label "Name"
+                            display_template {
+                                <if @tbl_missing.matnr@ eq #tlf-assignments.group#>
+                 <a href='groupmgr?id=@tbl_missing.item_id@&a=view_detail&return_url=${return_url_encoded}'>@tbl_missing.name@</a>
+                                   <a class='tlf-assignments.del_conf' href='[$view pretty_link]?m=unassign_group&group_id=@tbl_missing.item_id@&return_url=${return_url_encoded}' alt='unassign' title="#tlf-assignments.Group_cancel#">
+                                      <img src='/resources/tlf-assignments/images/icons_famfamfam/cancel.png'>
+                                   </a>
+                                </if>
+                                <elseif @tbl_missing.matnr@ eq "undefined">
+                                   @tbl_missing.name@
+                                </elseif>
+                                <else>
+                                   <a href='/shared/community-member?user_id=@tbl_missing.user_id@&return_url=${return_url_encoded}'>@tbl_missing.name@</a>
+                                   <a href=".?user_details=@tbl_missing.user_id@&return_url=${return_url_encoded}" title="#tlf-assignments.results# @tbl_missing.name@">
+                                      <img src='/resources/tlf-assignments/images/icons_famfamfam/zoom_in.png'>
+                                   </a>
+                                </else>
+                            }
+                        }
+                        nf {
+                            label "#tlf-assignments.nachfrist#"
+                            display_template {
+                               <if @tbl_missing.nf@ ne "">
+                                  @tbl_missing.nf@
+                                  <a class='bin-empty tlf-assignments.del_conf' href='[$ast pretty_link]?m=write_nf&op=del_nf&item_id=@tbl_missing.item_id@&return_url=${return_url_encoded}' title='#xowiki.delete#'></a>
+                               </if>
+                            }
+                        }
+                        submit_for {
+                            label "#tlf-assignments.actions#"
+                            display_template {
+                                <a class='page-white-get' title='#tlf-assignments.submit_for#' href='[$ast pretty_link]?m=submit&user_id=@tbl_missing.user_id@'>&nbsp;</a>
+                            }
+                        }
+                    }] -orderby {
+                        matnr {
+                            orderby matnr
+                        }
+                        name {
+                            orderby name
+                        }
+                        nf {
+                            orderby nf
+                        }
+                    }
+
+                template::add_event_listener -id "tbl_missing.check_all" \
+                    -script {acs_ListCheckAll('tbl_missing', this.checked);}
+
+                template::add_confirm_handler -CSSclass "tlf-assignments.del_conf" \
+                    -message [_ tlf-assignments.del_conf]
+
+                #ds_comment [template::list::orderby_clause -orderby -name "tbl_missing"]
+                array set subs [$ast calc_submissions]
+                set subm_list [list]
+                foreach sub $subs(returnvalue) {
+                    ::xo::db::CrClass get_instance_from_db -item_id $sub
+                    lappend subm_list [$sub get_property -name group_id]
+                }
+                append html [$ast render_angabe_full]
+
+                array unset subs
+                set bearb [$ast get_property -name bearbeiter]
+                set groups [$ast get_property -name groups]
+                if {$display_members} {
+                    set sql "SELECT
+                          p.last_name || ' ' || p.first_names AS name,
+                          p.username,
+                          p.user_id
+                          FROM dotlrn_member_rels_approved dt,
+                              acs_users_all p
+                          WHERE community_id = :community_id
+                             and p.person_id = dt.user_id and dt.rel_type
+                                  in ('dotlrn_student_rel','dotlrn_member_rel')
+                          ORDER BY p.last_name asc, p.first_names asc;"
+                } else {
+                    set sql "SELECT
+                          p.last_name || ' ' || p.first_names AS name,
+                          p.username,
+                          p.user_id
+                          FROM dotlrn_member_rels_approved dt,
+                              acs_users_all p
+                          WHERE community_id in
+                              (SELECT community_id
+                                  FROM dotlrn_community_applets
+                                  WHERE package_id=:package_id)
+                             and p.person_id = dt.user_id and dt.rel_type
+                                  in ('dotlrn_student_rel','dotlrn_member_rel')
+                          ORDER BY p.last_name asc, p.first_names asc;"
+                }
+                if {$bearb eq "" && $groups eq ""} {
+                    ::xo::dc foreach member $sql {
+                        if {$user_id ni $subm_list} {
+                            ::template::multirow append tbl_missing $username $name $user_id [$ast germanize_date ${user_id}_nachfrist] $user_id
+                        }
+                    }
+                } elseif {$groups ne ""} {
+                    foreach gr $groups {
+                        if {$gr ni $subm_list} {
+                            group::get -group_id $gr -array group_info
+                            ::template::multirow append tbl_missing #tlf-assignments.group# $group_info(group_name) $gr [$ast germanize_date ${gr}_nachfrist] $gr
+                            array unset group_info
+                        }
+                    }
+                } else {
+                    set matnr "undefined"
+                    #check for single users
+                    foreach b $bearb {
+                        if {$b ni $subm_list} {
+                            set matnr [::xo::dc get_value matnr "select username from acs_users_all where user_id = :b;"]
+                            ::template::multirow append tbl_missing $matnr [::tlf_cassignments::get_user_name -user_id $b] $b [$ast germanize_date ${b}_nachfrist] $b
+                        }
+                    }
+                }
+                set sort [split $orderby ,]
+                if {$sort ne ""} {
+                    set direction [expr {[lindex $sort 1] eq "asc" ? "increasing" : "decreasing"}]
+                    ::template::multirow sort tbl_missing -${direction} [lindex $sort 0]
+                }
+                if {[::template::multirow size tbl_missing] ne 0} {
+                    #parse html and insert date_widget into form
+                    dom parse -html [template::list::render -name tbl_missing] doc
+                    $doc documentElement root
+                    set form [lindex [$root selectNodes "//div\[@class='list-button-bar-bottom'\]"] 0]
+                    dom parse -html [:date_widget 1] dw
+                    $dw documentElement dwroot
+                    if {$form ne ""} {
+                        $form insertBefore $dwroot [$form firstChild]
+                    }
+                    set root_html [$root asXML]
+                    $doc delete
+                    $dw delete
+                } else {
+                    set root_html [template::list::render -name tbl_missing]
+                }
+                append root_html "<br><a href=[$package_id pretty_link -parent_id [$package_id folder_id] index]>[_ tlf-assignments.back]</a>"
+                return "$html $root_html"
+            }
+            ################### PARAMETER 2: LIST OF SUBMITTED, GRADED, OPEN ####################
+            #get filter clauses
+            set type [::xo::cc query_parameter type "allsubmissions"]
+            set ast [::xo::db::CrClass get_instance_from_db -item_id [::xo::cc query_parameter view]]
+            array set subm [$ast calc_submissions $type]
+            append html [$ast render_angabe_full -prefetch "[array get subm]"]
+
+            ### Liste Aufgaben in Bearbeitung ###
+            if {$type eq "open"} {
+                set bulk_actions [list [_ tlf-assignments.resub_deadline] [$ast pretty_link] [_ tlf-assignments.resub_deadline] ]
+                set m write_nf
+                set op set_resub
+
+                ::template::multirow create tbl_open bearb_status matnr name user_id abgabe fristen nf nba item_id pretty_link
+                ::template::list::create \
+                -name "tbl_open" \
+                -multirow "tbl_open" \
+                -pass_properties {view type} \
+                -has_checkboxes \
+                -caption "#tlf-assignments.open#" \
+                -no_data "#tlf-assignments.no_data#" \
+                -bulk_actions $bulk_actions \
+    -bulk_action_export_vars {m op return_url} \
+                -key id \
+    -elements [subst {
+                    item_id {
+                        label {<input id="tbl_open.check_all" name="_dummy" title="[_ acs-templating.lt_Checkuncheck_all_rows]" type="checkbox">}
+                        html "align=center"
+                        sub_class "narrow"
+                        display_template {
+                            <input type="checkbox" name="item_id" value="@tbl_open.item_id@" id="tbl_open.@tbl_open.item_id@" title="[_ acs-templating.lt_Checkuncheck_this_row]">
+                        }
+                    }
+                    bearb_status {
+                        label "#tlf-assignments.b_state#"
+                    }
+                    matnr {
+                        label "#tlf-assignments.matnr#"
+                    }
+                    name {
+                        label "Name"
+                        display_template {
+          <if @tbl_open.matnr@ eq "#tlf-assignments.gr_subm#">
+                                <a href='groupmgr?id=@tbl_open.user_id@&a=view_detail&return_url=${return_url_encoded}'>@tbl_open.name@</a>
+                            </if>
+                            <elseif @tbl_open.matnr@ eq "undefined">
+                                @tbl_open.name@
+                            </elseif>
+                            <else>
+                                <a href='/shared/community-member?user_id=@tbl_open.user_id@&return_url=${return_url_encoded}'>@tbl_open.name@</a>
+                                <a href=".?user_details=@tbl_open.user_id@&return_url=${return_url_encoded}" title="#tlf-assignments.results# @tbl_open.name@">
+                                   <img src='/resources/tlf-assignments/images/icons_famfamfam/zoom_in.png'>
+                                </a>
+                            </else>
+                        }
+                    }
+                    abgabe {
+                        label "#tlf-assignments.subm#"
+                            display_template {
+                                @tbl_open.abgabe;noquote@
+                            }
+                    }
+                    fristen {
+                     label "#tlf-assignments.dline#"
+                        display_template {
+                            <if @tbl_open.nf@ ne "">
+                               <div style='clear:both;'><span class='bold'>[_ tlf-assignments.nachfrist]:</span><br>@tbl_open.nf@</div>
+                            </if>
+                            <if @tbl_open.nba@ ne "">
+                                <div style='clear:both;'><span class='bold'>[_ tlf-assignments.resub_deadline]:</span><br>@tbl_open.nba@</div>
+                            </if>
+                        }
+                    }
+                    actions {
+                        label "#tlf-assignments.actions#"
+                        display_template {
+                            <a class='page-white-get' title='#tlf-assignments.submit_for#' href='@tbl_open.pretty_link@?m=foreign_submit&user_id=@tbl_open.user_id@'>&nbsp;</a>
+                        }
+                    }
+                }] -orderby {
+                    matnr {
+                        orderby matnr
+                    }
+                    name {
+                        orderby name
+                    }
+                    fristen {
+                        orderby name
+                    }
+                }
+
+    template::add_event_listener -id "tbl_open.check_all" \
+        -script {acs_ListCheckAll('tbl_open', this.checked);}
+
+                foreach submission $subm(returnvalue) {
+                    ::xo::db::CrClass get_instance_from_db -item_id $submission
+                    if {[$view get_property -name groups] ne ""} {
+                        set user_id [$submission get_property -name creator_id]
+                        if {$user_id eq ""} {
+                            set user_id [$submission set creation_user]
+                        }
+                        if {[permission::permission_p -object_id $package_id -privilege "admin" -party_id $user_id]} {
+                            set gr_id 0
+                        } else {
+                            set group_id [$view checkgroup $user_id]
+                            set gr_id [lindex $group_id 1]
+                        }
+                        if {$gr_id eq 0} {set gr_id [$submission get_property -name group_id]}
+                        set grname [::xo::dc get_value groupname "select group_name from groups where group_id = :gr_id" ""]
+                        set user "[_ tlf-assignments.gr_subm]"
+                        set matnr $user
+                        set name $grname
+                        set user_id $gr_id
+                    } else {
+                        set user_id [expr {[$submission get_property -name foreign_user] eq "0" ?
+                            [$submission get_property -name creator_id] :
+                            [$submission get_property -name foreign_user]}]
+                        if {$user_id eq ""} {
+                            set user_id [$submission set creation_user]
+                        }
+                        set matnr [::xo::dc get_value username "select username from acs_users_all where user_id = :user_id"  0]
+                        set name [::tlf_cassignments::get_user_name -user_id $user_id]
+                    }
+                    set nf [$view germanize_date ${user_id}_nachfrist]
+                    SubmissionType=[$view get_property -name exercise_form] create [self]::stype
+                    set abgabe [[self]::stype render_preview -view_only 1 $submission ]
+                    set resub [$submission germanize_date resubmissionff]
+                    if {$resub ne ""} {
+                        set bearb_status "#tlf-assignments.resub_open#"
+                    } else {
+                        set bearb_status "#tlf-assignments.open#"
+                        set abgabe " -- "
+                    }
+                    #fristen is a compound of nf and nba
+                    set fristen "$nf $resub"
+                    ::template::multirow append tbl_open $bearb_status $matnr $name $user_id $abgabe $fristen $nf $resub [$submission set item_id] [$submission pretty_link]
+                }
+                    set sort [split $orderby ,]
+                    if {$sort ne ""} {
+                        set direction [expr {[lindex $sort 1] eq "asc" ? "increasing" : "decreasing"}]
+                        ::template::multirow sort tbl_open -${direction} [lindex $sort 0]
+                    }
+                # append html [template::list::render -name tbl_open]
+                if {[::template::multirow size tbl_open] ne 0} {
+                    #parse html and insert date_widget into form
+                    dom parse -html [template::list::render -name tbl_open] doc
+                    $doc documentElement root
+                    set form [lindex [$root selectNodes "//div\[@class='list-button-bar-bottom'\]"] 0]
+
+                    dom parse -html [:date_widget 1] dw
+
+                    $dw documentElement dwroot
+                    if {$form ne ""} {
+                        $form insertBefore $dwroot [$form firstChild]
+                    }
+                    set root_html [$root asXML]
+                    $doc delete
+                    $dw delete
+                } else {
+                    set root_html [template::list::render -name tbl_open]
+                }
+                return "$html $root_html"
+
+            ### Liste Aufgaben Abgegeben ###
+            } elseif {$type eq "submitted"} {
+                set m bulk_download
+                set bulk_actions ""
+                if {[SubmissionType=[$view get_property -name exercise_form] set allow_download]} {
+                    set bulk_actions [list "[_ tlf-assignments.dl]" "[$ast pretty_link]" "[_ tlf-assignments.dl_selected]"]
+                }
+                ::template::multirow create tbl_submitted matnr name abgabe beurteilung actions user_id item_id nachfrist nba
+                ::template::list::create \
+                -name "tbl_submitted" \
+                -multirow "tbl_submitted" \
+                -pass_properties {view type} \
+                -has_checkboxes \
+                -caption "#tlf-assignments.submitted_subs#" \
+                -no_data "#tlf-assignments.no_data#" \
+                -bulk_actions $bulk_actions \
+                -bulk_action_export_vars {m return_url} \
+                -key item_id \
+                -elements [subst {
+                    item_id {
+                        label {<input id="tbl_submitted.check_all" name="_dummy" title="[_ acs-templating.lt_Checkuncheck_all_rows]" type="checkbox">}
+                        html "align=center"
+                        sub_class "narrow"
+                        display_template {
+                            <input type="checkbox" name="item_id" value="@tbl_submitted.item_id@" id="tbl_submitted.@tbl_submitted.item_id@" title="[_ acs-templating.lt_Checkuncheck_this_row]">
+                        }
+                    }
+                    matnr {
+                        label "#tlf-assignments.matnr#"
+                    }
+                    name {
+                        label "Name"
+                        display_template {
+                            <if @tbl_submitted.matnr@ eq "#tlf-assignments.gr_subm#">
+             <a href='groupmgr?id=@tbl_submitted.user_id@&a=view_detail&return_url=${return_url_encoded}'>@tbl_submitted.name@</a>
+                            </if>
+                            <elseif @tbl_submitted.matnr@ eq "undefined">
+                               @tbl_submitted.name@
+                            </elseif>
+                            <else>
+                               <a href='/shared/community-member?user_id=@tbl_submitted.user_id@&return_url=${return_url_encoded}'>@tbl_submitted.name@</a>
+                               <a href=".?user_details=@tbl_submitted.user_id@&return_url=${return_url_encoded}" title="#tlf-assignments.results# @tbl_submitted.name@">
+                                  <img src='/resources/tlf-assignments/images/icons_famfamfam/zoom_in.png'>
+                               </a>
+                            </else>
+                        }
+                    }
+                    nachfrist {
+                        label "#tlf-assignments.dline#"
+                        display_template {
+                            <if @tbl_submitted.nachfrist@ ne "">
+                               <div style='clear:both;'><span class='bold'>[_ tlf-assignments.nachfrist]:</span><br>@tbl_submitted.nachfrist@</div>
+                            </if>
+                            <if @tbl_submitted.nba@ ne "">
+                                <div style='clear:both;'><span class='bold'>[_ tlf-assignments.resub_deadline]:</span><br>@tbl_submitted.nba@</div>
+                            </if>
+                        }
+                    }
+                    abgabe {
+                        label "#tlf-assignments.subm#"
+                        display_template {
+                            @tbl_submitted.abgabe;noquote@
+                        }
+                    }
+                    beurteilung {
+                        label "#tlf-assignments.quick_grade#"
+                        display_template {
+                            @tbl_submitted.beurteilung;noquote@
+                        }
+                    }
+                    actions {
+                        label "#tlf-assignments.actions#"
+                        display_template {
+                            <a class='bin-empty tlf-assignments.del_conf' href='@tbl_submitted.actions@' title='#xowiki.delete#'></a>
+                        }
+                    }
+                }] -orderby {
+                    matnr {
+                        orderby matnr
+                    }
+                    name {
+                        orderby name
+                    }
+                }
+
+                template::add_event_listener -id "tbl_submitted.check_all" \
+                    -script {acs_ListCheckAll('tbl_submitted', this.checked);}
+
+                template::add_confirm_handler -CSSclass "tlf-assignments.del_conf" \
+                    -message [_ tlf-assignments.del_conf]
+
+                # Prevent hitting enter on the grading formfields to
+                # trigger a form submit, which would try to execute
+                # the form action on the including page, rather than
+                # the submissions.
+                template::add_body_handler -event load -script {
+                    for (form of document.getElementsByName('tbl_submitted')) {
+                        form.addEventListener('submit', function(e) {
+                            e.preventDefault();
+                        });
+                    }
+                }
+
+                foreach submission $subm(returnvalue) {
+                    ::xo::db::CrClass get_instance_from_db -item_id $submission
+                    if {[$view get_property -name groups] ne ""} {
+                        set user_id [$submission get_property -name creator_id]
+                        if {[permission::permission_p -object_id $package_id -privilege "admin" -party_id $user_id]} {
+                            set gr_id 0
+                        } else {
+                            set group_id [$view checkgroup $user_id]
+                            set gr_id [lindex $group_id 1]
+                        }
+                        if {$gr_id eq 0} {set gr_id [$submission get_property -name group_id]}
+                        set grname [::xo::dc get_value groupname "select group_name from groups where group_id = :gr_id" ""]
+                        set user "#tlf-assignments.gr_subm#"
+                        set matnr $user
+                        set name $grname
+                        set user_id $gr_id
+                    } else {
+                        set user_id [$submission get_property -name group_id]
+                        if {$user_id eq ""} {
+                            set user_id [$submission set creation_user]
+                        }
+                        set matnr [::xo::dc get_value username "select username from acs_users_all where user_id = :user_id"  0]
+                        set name [::tlf_cassignments::get_user_name -user_id $user_id]
+                    }
+                    SubmissionType=[$view get_property -name exercise_form] create [self]::stype
+                    set abgabe [[self]::stype render_preview $submission]
+                    if {[$view get_property -name exercise_form] eq "ot"} {
+                      set beurteilung "<div class='grey percent85'>#tlf-assignments.grade_nag#</div>"
+                    } else {
+                      GradingType=[$view get_property -name modus] create [self]::gtype
+                      set beurteilung [[self]::gtype asHTMLInput $submission]
+                    }
+                    set actions "[$submission pretty_link]?m=delete&return_url=${return_url_encoded}"
+                    set nf [$view germanize_date ${user_id}_nachfrist]
+                    set resub [$submission get_property -name resubmissionff]
+                    ::template::multirow append tbl_submitted $matnr $name $abgabe $beurteilung $actions $user_id [$submission set item_id] $nf $resub
+                }
+                set sort [split $orderby ,]
+                if {$sort ne ""} {
+                    set direction [expr {[lindex $sort 1] eq "asc" ? "increasing" : "decreasing"}]
+                    ::template::multirow sort tbl_submitted -${direction} [lindex $sort 0]
+                }
+                append html [template::list::render -name tbl_submitted]
+
+        ### Liste Aufgaben Beurteilt ###
+            } elseif {$type eq "graded"} {
+                set m bulk_download
+                set bulk_actions ""
+                if {[SubmissionType=[$view get_property -name exercise_form] set allow_download]} {
+                    set bulk_actions [list "#tlf-assignments.dl#" "[$ast pretty_link]" "#tlf-assignments.dl_selected#"]
+                }
+                ::template::multirow create tbl_graded matnr name abgabe beurteilung actions user_id item_id grade_released
+                ::template::list::create \
+                -name "tbl_graded" \
+                -multirow "tbl_graded" \
+                -pass_properties {view type} \
+                -has_checkboxes \
+                -caption "#tlf-assignments.graded_subs#" \
+                -bulk_actions $bulk_actions \
+                -no_data "#tlf-assignments.no_data#" \
+                -key item_id \
+                -bulk_action_export_vars {m return_url} \
+                -elements [subst {
+                    item_id {
+                        label {<input id="tbl_graded.check_all" name="_dummy" title="[_ acs-templating.lt_Checkuncheck_all_rows]" type="checkbox">}
+                        html "align=center"
+                        sub_class "narrow"
+                        display_template {
+                            <input type="checkbox" name="item_id" value="@tbl_graded.item_id@" id="tbl_graded.@tbl_graded.item_id@" title="[_ acs-templating.lt_Checkuncheck_this_row]">
+                        }
+                    }
+                    matnr {
+                        label "#tlf-assignments.matnr#"
+                    }
+                    name {
+                        label "Name"
+                        display_template {
+                            <if @tbl_graded.matnr@ eq "#tlf-assignments.gr_subm#">
+                                <a href='groupmgr?id=@tbl_graded.user_id@&a=view_detail&return_url=${return_url_encoded}'>@tbl_graded.name@</a>
+                            </if>
+                            <elseif @tbl_graded.matnr@ eq "undefined">
+                                @tbl_graded.name@
+                            </elseif>
+                            <else>
+                                <a href='/shared/community-member?user_id=@tbl_graded.user_id@&return_url=${return_url_encoded}'>@tbl_graded.name@</a>
+                                <a href=".?user_details=@tbl_graded.user_id@&return_url=${return_url_encoded}" title="#tlf-assignments.results# @tbl_graded.name@">
+                                   <img src='/resources/tlf-assignments/images/icons_famfamfam/zoom_in.png'>
+                                </a>
+                            </else>
+                            <if @tbl_graded.grade_released@ eq "1">
+                                <img src='/resources/tlf-assignments/images/icons_famfamfam/tick.png' title='#tlf-assignments.published#'>
+                            </if>
+                        }
+                    }
+                    abgabe {
+                        label "#tlf-assignments.subm#"
+                        display_template {
+                            @tbl_graded.abgabe;noquote@
+                        }
+                    }
+                    beurteilung {
+                        label "#tlf-assignments.grading#"
+                    }
+                    actions {
+                        label "#tlf-assignments.actions#"
+                        display_template {
+                            <a class='bin-empty tlf-assignments.del_conf' href='@tbl_graded.actions@' title='#xowiki.delete#'></a>
+                        }
+                    }
+    }] -orderby {
+                    matnr {
+                        orderby matnr
+                    }
+                    beurteilung {
+                        orderby beurteilung
+                    }
+                    name {
+                        orderby name
+                    }
+                }
+
+                template::add_event_listener -id "tbl_graded.check_all" \
+                    -script {acs_ListCheckAll('tbl_graded', this.checked);}
+
+                template::add_confirm_handler -CSSclass "tlf-assignments.del_conf" \
+                    -message [_ tlf-assignments.del_conf]
+
+                foreach submission $subm(returnvalue) {
+                    ::xo::db::CrClass get_instance_from_db -item_id $submission
+                    if {[$view get_property -name groups] ne ""} {
+                        set user_id [$submission get_property -name creator_id]
+                        if {[permission::permission_p -object_id $package_id -privilege "admin" -party_id $user_id]} {
+                            set gr_id 0
+                        } else {
+                            set group_id [$view checkgroup $user_id]
+                            set gr_id [lindex $group_id 1]
+                        }
+                        if {$gr_id eq 0} {set gr_id [$submission get_property -name group_id]}
+                        set grname [::xo::dc get_value groupname "select group_name from groups where group_id = :gr_id" ""]
+                        set user "#tlf-assignments.gr_subm#"
+                        set matnr $user
+                        set name $grname
+                        set user_id $gr_id
+                    } else {
+                        set user_id [$submission get_property -name group_id]
+                        if {$user_id eq ""} {
+                            set user_id [$submission set creation_user]
+                        }
+                        set matnr [::xo::dc get_value username "select username from acs_users_all where user_id = :user_id"  0]
+                        set name [::tlf_cassignments::get_user_name -user_id $user_id]
+                    }
+                    SubmissionType=[$view get_property -name exercise_form] create [self]::stype
+                    set abgabe [[self]::stype render_preview $submission]
+                    GradingType=[$view get_property -name modus] create [self]::gtype
+                    set beurteilung [[self]::gtype asHTMLInput $submission]
+                    set actions "[$submission pretty_link]?m=delete&return_url=${return_url_encoded}"
+                    ::template::multirow append tbl_graded $matnr $name $abgabe $beurteilung $actions $user_id [$submission set item_id] [$view get_property -name grade_released]
+                }
+                set sort [split $orderby ,]
+                if {$sort ne ""} {
+                    set direction [expr {[lindex $sort 1] eq "asc" ? "increasing" : "decreasing"}]
+                    ::template::multirow sort tbl_graded -${direction} [lindex $sort 0]
+                }
+                append html [template::list::render -name tbl_graded]
+                #individual grade release
+                if {[$view get_property -name beurteilung] eq "individual" && [$view get_property -name grade_released] eq ""} {
+                    append html "<br><a class='button' href='[$view pretty_link]?m=release_grade&return_url=${return_url_encoded}'>#tlf-assignments.release_grades#</a>
+<img width='12' height='9' border='0' style='margin-right: 5px' title='Help text' alt='\[i\]' src='/shared/images/info.gif'>#tlf-assignments.info_publish#"
+                }
+            }
+
+            ############ END List TEMPLATES ###################
+            if {$type eq "submitted" && $subm(returnvalue) ne "" && \
+                [SubmissionType=[$view get_property -name exercise_form] set allowQuickGrade] && \
+                [GradingType=[$view get_property -name modus] allowQuickGrade]} {
+                set name [$ast set name]
+                set id "grade-all-button-${name}"
+                append html "<a id='${id}' class='button' href='#'>#tlf-assignments.grade_selected#</a>"
+                template::add_event_listener -id $id -script [subst {grade_all('${name}');}]
+            }
+            return $html
+        }
+
+        if {[set user_details [::xo::cc query_parameter user_details]] ne "" && $amiadmin} {
+            ::template::multirow create tbl_userdetails matnr name abgabe beurteilung comment pretty_link user_id item_id status typ title
+            set type [acs_object_type $user_details]
+            set matnr [expr {$type eq "user" ? \
+                [::xo::dc get_value username "select username from acs_users_all where user_id = :user_details"  0] :
+                [::xo::dc get_value groupname "select group_name from groups where group_id = :user_details" 0]}]
+            ::template::list::create \
+                -name "tbl_userdetails" \
+                -multirow "tbl_userdetails" \
+                -pass_properties {view type} \
+                -caption "[expr {$type eq "user" ? [::tlf_cassignments::get_user_name -user_id $user_details] : "#tlf-assignments.gr_subm#"}]  ($matnr)" \
+                -no_data "#tlf-assignments.no_data#" \
+                -key item_id \
+                -bulk_action_export_vars {m return_url} \
+                -elements {
+                    title {
+                        label "#tlf-assignments.title#"
+                    }
+                    abgabe {
+                        label "#tlf-assignments.subm#"
+                        display_template {
+                            @tbl_userdetails.abgabe;noquote@
+                        }
+                    }
+                    beurteilung {
+                        label "#tlf-assignments.grading#"
+                    }
+                    comment {
+                        label "#tlf-assignments.supercomment#"
+                    }
+                    typ {
+                        label "#tlf-assignments.grade_mode#"
+                    }
+                    status {
+                        label "Status"
+                        display_template {
+                            <if @tbl_userdetails.status@ eq "graded">#tlf-assignments.graded#</if>
+                            <if @tbl_userdetails.status@ eq "submitted">#tlf-assignments.submitted#</if>
+                            <if @tbl_userdetails.status@ eq "resubmission">#tlf-assignments.resub#</if>
+                            <if @tbl_userdetails.status@ eq "initial">#tlf-assignments.open#</if>
+                        }
+                    }
+                    pretty_link {
+                        label "#tlf-assignments.actions#"
+                        display_template {
+                            <if @tbl_userdetails.status@ eq "resubmission">
+                            <a href='@tbl_userdetails.pretty_link@'>Details</a>
+                            </if>
+                            <elseif @tbl_userdetails.status@ ne "initial">
+                                <a href='@tbl_userdetails.pretty_link@'>Details</a>
+                            </elseif>
+                        }
+                    }
+                }
+            set creator_clause [expr {$type eq "user" ? "(((hkey->'creator_id')::integer) = $user_details or \
+            ((hkey->'foreign_user')::integer) = $user_details or \
+            acs_group__member_p($user_details, (hkey->'group_id')::integer, 1::boolean))" :
+            "(hkey->'group_id')::integer = $user_details"}]
+
+            set users_assignments [::xowiki::FormPage get_form_entries -base_item_ids [string trimleft [$package_id resolve_page abgabe-stud.wf method_var] :] \
+            -form_fields [list] -always_queried_attributes "_state _description _instance_attributes _creation_date" -package_id $package_id \
+            -orderby "state desc, (hkey->'time_to') asc, title asc" -publish_status "ready" \
+            -parent_id [$package_id set folder_id] -extra_where_clause " and $creator_clause" -from_package_ids "*"]
+            foreach ast [$users_assignments children] {
+                   catch {::xo::db::CrClass get_instance_from_db -item_id [$ast get_property -name assignment_id]} err
+                   if {[info command ::[$ast get_property -name assignment_id]] eq ""} {continue}
+                    GradingType=[[$ast get_property -name assignment_id] get_property -name modus] create [self]::gtype
+                   ::template::multirow append tbl_userdetails \
+                   $matnr \
+                   [expr {$type eq "user" ? [::tlf_cassignments::get_user_name -user_id $user_details] : "#tlf-assignments.gr_subm#"}]\
+                   [expr {[$ast get_property -name submission_date] ne "" ? [clock format [$ast get_property -name submission_date] -format  {%d.%m.%Y %H:%M}] : ""}] \
+                   [$ast get_property -name grade] \
+                   [$ast get_property -name supervisorcomment] \
+                   [$ast pretty_link] \
+                   $user_details \
+                   [$ast item_id] \
+                   [expr {[$ast get_property -name resubmissionff] ne "" ? "resubmission" : [$ast set state]}] \
+                   [[self]::gtype PrettyName] \
+                   [[$ast get_property -name assignment_id] set title]
+            }
+            return "[template::list::render -name tbl_userdetails] <br> <a class='button' href='[::xo::cc query_parameter return_url]'>#tlf-assignments.back#</a>"
+        }
+
+
+
+        ################# START PAGE ##########################
+        if {$amiadmin} {
+#            ::xo::Page set_property doc menubar [$package_id MenuBar]
+            if {[$assignments children] eq ""} {
+                append html "<div class='welcome-text'>#tlf-assignments.Welcome_text#</div>"
+                return $html
+            }
+            set bulk_actions [list \
+            "[_ xowiki.delete]" admin/bulk-delete "[_ xowiki.Delete_selected]"]
+            ::template::multirow create all_exercises type title link is_enabled status open_date end_date s_missing s_submitted s_graded s_open item_id pretty_timeto exercise_form
+            ::template::list::create \
+            -name "all_exercises" \
+            -multirow "all_exercises" \
+            -key item_id \
+            -bulk_actions $bulk_actions \
+            -elements [subst {
+                type {
+                    label ""
+                    display_template {
+                        <if @all_exercises.type@ ne 1>
+                            <img src='/resources/tlf-assignments/images/icons/16_gruppenaufgabe.png' title='#tlf-assignments.group_ex#'>
+                        </if>
+                        <else>
+                            <img src='/resources/tlf-assignments/images/icons/16_einzelaufgabe.png' title='#tlf-assignments.single_ex#'>
+                        </else>
+                    }
+                }
+                title {
+                    label "#tlf-assignments.title#"
+                    display_template {
+                        <a href='@all_exercises.link@'>@all_exercises.title@</a>
+                        <br><span class='grey percent85'>@all_exercises.exercise_form@</span>
+                    }
+                }
+                is_enabled {
+                    label "#tlf-assignments.state#"
+                    display_template {
+                        <if @all_exercises.is_enabled;literal@ true>
+                            <span class='notice n8 grey percent85' title='#tlf-assignments.is_running_help#'>#tlf-assignments.is_running#</span>
+                        </if>
+                        <else>
+                           <if @all_exercises.status@ eq "initial">
+                                <span class='notice n5 grey percent85' title='#tlf-assignments.draft_help#'>#tlf-assignments.draft#</span>
+                           </if>
+                           <elseif @all_exercises.status@ eq "editing">
+                                <span class='notice n5 grey percent85' title='#tlf-assignments.draft_help#'>#tlf-assignments.draft#</span>
+                           </elseif>
+                           <elseif @all_exercises.status@ eq "assign">
+                                <span class='notice n5 grey percent85' title='#tlf-assignments.draft_help2#'>#tlf-assignments.draft#</span>
+                           </elseif>
+                           <elseif @all_exercises.status@ eq "published">
+                                <if [clock seconds] gt @all_exercises.pretty_timeto@>
+                                    <span class='notice n9 grey percent85' title='#tlf-assignments.time_up_help#'>#tlf-assignments.time_up#</span>
+                                </if>
+                                <else>
+                                    <span class='notice n7 grey percent85' title='#tlf-assignments.ready_help#'>#tlf-assignments.ready#</span>
+                                </else>
+                           </elseif>
+                        </else>
+                     }
+                }
+                open_date {
+                    label "#tlf-assignments.sub_time#"
+                    display_template {
+                        <div style='white-space:nowrap;'>
+                            <span style='width:4em;display:inline-block;'>#tlf-assignments.start#:</span>
+                            @all_exercises.open_date@
+                        </div>
+                            <div style='white-space:nowrap;'>
+                            <span style='width:4em;display:inline-block;'>#tlf-assignments.end#:</span>
+                            @all_exercises.end_date@
+                        </div>
+                    }
+                }
+                submissions {
+                    label "#tlf-assignments.sub_pl#"
+                    display_template {
+                        <if $amiadmin eq t>
+                            <ul class='horizontal-list' style='margin-left:0 !important;'>
+                                <li style='width:3.8em;'><a class='abgaben n10' href='?view=@all_exercises.item_id@&type=missing' title='#tlf-assignments.missing#'>@all_exercises.s_missing@</a></li>
+                                <li style='width:3.8em;'><a class='abgaben n11' href='[::xo::cc url]?view=@all_exercises.item_id@&type=open' title='#tlf-assignments.open#'>@all_exercises.s_open@</a></li>
+                                <li style='width:3.8em;'><a class='abgaben n12' href='[::xo::cc url]?view=@all_exercises.item_id@&type=submitted' title='#tlf-assignments.submitted#'>@all_exercises.s_submitted@</a></li>
+                                <li style='width:3.8em;'><a class='abgaben n13' href='[::xo::cc url]?view=@all_exercises.item_id@&type=graded' title='#tlf-assignments.graded#'>@all_exercises.s_graded@</a></li>
+                            </ul>
+                        </if>
+                    }
+                }
+                actions {
+                    label "#tlf-assignments.actions#"
+                    sub_class narrow
+                    display_template {
+                        <a href='@all_exercises.link@?m=edit' class='page-white-edit' title='bearbeiten'>&nbsp;</a>
+                        <a href='@all_exercises.link@?m=delete' class='bin-empty tlf-assignments.del_conf' title='#xowiki.delete#'>&nbsp;</a>
+                        <if @all_exercises.s_graded@ gt 0>
+                            <a href='@all_exercises.link@?m=csv_export' class='report' title='#tlf-assignments.csv_export#'>&nbsp;</a>
+                            <a href='@all_exercises.link@?m=csv_export&all=1' class='report_user' title='#tlf-assignments.csv_export_all#'>&nbsp;</a>
+                        </if>
+                        <if @all_exercises.exercise_form@ eq "Peer review">
+                            <a href='@all_exercises.link@?m=csv_export_ot' class='page_white_excel' title='#tlf-assignments.csv_export#'>&nbsp;</a>
+                        </if>
+                    }
+                }
+            }]
+
+            template::add_confirm_handler -CSSclass "tlf-assignments.del_conf" \
+                -message [_ tlf-assignments.del_conf]
+
+            set comm_clause [expr {$display_members ? "-community_id $community_id" : ""}]
+            set cmd "::tlf_cassignments::get_all_counts -package_id $package_id -display_members $display_members $comm_clause"
+            array set subs [{*}$cmd]
+            if {$display_members} {
+                set members [::xo::dc get_value get_members {SELECT count(*) as count FROM dotlrn_member_rels_approved
+                                    WHERE dotlrn_member_rels_approved.community_id = :community_id
+                                                AND dotlrn_member_rels_approved.rel_type IN
+                                                ('dotlrn_student_rel','dotlrn_member_rel')}]
+            } else {
+                set members [::xo::dc get_value get_members {SELECT count(*) as count FROM dotlrn_member_rels_approved
+                                    WHERE dotlrn_member_rels_approved.community_id
+                                        IN (SELECT community_id FROM dotlrn_community_applets
+                                            WHERE package_id=:package_id)
+                                                AND dotlrn_member_rels_approved.rel_type IN
+                                                ('dotlrn_student_rel','dotlrn_member_rel')}]
+            }
+            foreach fp [$assignments children] {
+                set is_enabled [expr {[$fp check_submittable 0] eq "" ? 0 : 1}]
+                if {[$fp set state] ne "published"} {
+                    set is_enabled 0
+                }
+                set e_form [SubmissionType=[$fp get_property -name exercise_form] asOption]
+                set state [$fp set state]
+                set submitted [expr {[set sub [lindex [array get subs [$fp set item_id]_submitted]  1]] ne "" ? $sub : 0}]
+                set graded [expr {[set sub [lindex [array get subs [$fp set item_id]_graded]  1]] ne "" ? $sub : 0}]
+                set open [expr {[set sub [lindex [array get subs [$fp set item_id]_open]  1]] ne "" ? $sub : 0}]
+                set bearb [$fp get_property -name bearbeiter]
+                set gr [$fp get_property -name groups]
+                if {$gr ne ""} {
+                    set missing [expr {[llength $gr] - $submitted - $graded - $open}]
+                } elseif {$bearb ne ""} {
+                    set missing [expr {[llength $bearb] - $submitted - $graded - $open}]
+                } else {
+                    set missing  [expr {$members - $graded - $open - $submitted}]
+                }
+                if {$missing < 0} {
+                    set missing 0
+                    ns_log notice "tlf-ast debug missing was < 0"
+                }
+                ::template::multirow append all_exercises \
+                    [expr {[$fp get_property -name groups] eq ""}] \
+                    [$fp set title] \
+                    [$fp pretty_link] \
+                    $is_enabled \
+                    $state \
+                    [$fp germanize_date time_from] \
+                    [$fp germanize_date time_to] \
+                    $missing \
+                    $submitted \
+                    $graded \
+                    $open \
+                    [$fp set item_id] \
+                    [clock scan [$fp get_property -name time_to]] \
+                    [lindex $e_form 0]
+                #array unset subs
+            }
+            array unset subs
+            append html [template::list::render -name all_exercises]
+
+            #display shared applets
+            if {$is_shared} {
+                append html "<p>[_ tlf-assignments.shared_package]</p>"
+                ::xo::dc foreach shared_pk "select
+                dci.shortname,
+                dcc.pretty_name,
+                dcc.community_id as cid
+                from dotlrn_class_instances dci
+                    inner join dotlrn_community_applets dcsa on
+                        dci.class_instance_id = dcsa.community_id
+                        and dcsa.package_id = :package_id
+                        and dci.class_instance_id <> :community_id
+                            inner join dotlrn_communities_core dcc
+                            on dci.class_instance_id = dcc.community_id " {
+                    append html "<a href='[dotlrn_community::get_community_url $cid][ast_installer node_name]'>$shortname $pretty_name</a><br>"
+                }
+            }
+            return $html
+            #### STUDENT ####
+        } else {
+            if {[$assignments children] eq ""} {
+                append html "<h3>#tlf-assignments.start_empty#</h3>"
+                return $html
+            }
+            set bulk_actions ""
+            ::template::multirow create all_exercises type title link is_enabled status sort_order_status open_date end_date nf exercise_mode abg_status sort_order_abgabe grade check_vis abgabe_link resubmission points hidden pretty_timefrom pretty_timeto exercise_form
+            ::template::list::create \
+                -name "all_exercises" \
+                -multirow "all_exercises" \
+                -key item_id \
+                -bulk_actions $bulk_actions \
+                -elements [subst {
+                    type {
+                        label ""
+                        display_template {
+                            <if @all_exercises.type@ ne 1>
+                                <img src='/resources/tlf-assignments/images/icons/16_gruppenaufgabe.png' title='#tlf-assignments.group_ex#'>
+                            </if>
+                            <else>
+                                <img src='/resources/tlf-assignments/images/icons/16_einzelaufgabe.png' title='#tlf-assignments.single_ex#'>
+                            </else>
+                        }
+                    }
+                    title {
+                        label "#tlf-assignments.title#"
+                        display_template {
+                            <if @all_exercises.hidden@ eq 1>
+                                <if [clock seconds] gt @all_exercises.pretty_timefrom@>
+                                    <a href='@all_exercises.link@'>@all_exercises.title@</a>
+                                    <br><span class='grey percent85'>@all_exercises.exercise_form@</span>
+                                </if>
+                                <else>
+                                    @all_exercises.title@
+                                    <br><span class='grey percent85'>@all_exercises.exercise_form@</span>
+                                </else>
+                            </if>
+                            <else>
+                                <if @all_exercises.abg_status@ eq "">
+                                    <a href='@all_exercises.link@'>@all_exercises.title@</a>
+                                    <br><span class='grey percent85'>@all_exercises.exercise_form@</span>
+                                </if>
+                                <else>
+                                    <if @all_exercises.check_vis@ eq "1">
+                                        <a href='@all_exercises.abgabe_link@'>@all_exercises.title@</a>
+                                    </if>
+                                    <else>
+                                        @all_exercises.title@
+                                    </else>
+                                    <br><span class='grey percent85'>@all_exercises.exercise_form@</span>
+                                </else>
+                            </else>
+                        }
+                    }
+                    is_enabled {
+                        label "#tlf-assignments.state#"
+                        display_template {
+                            <if @all_exercises.is_enabled;literal@ true>
+                                <span class='notice-3fields n29 grey percent85' title='#tlf-assignments.is_running_help#'>#tlf-assignments.is_running#</span>
+                            </if>
+                            <else>
+                                <if @all_exercises.status@ eq "published">
+                                    <if [clock seconds] gt @all_exercises.pretty_timeto@>
+                                        <span class='notice-3fields n27 grey percent85' title='#tlf-assignments.time_up_help#'>#tlf-assignments.closed#</span>
+                                    </if>
+                                    <else>
+                                        <span class='notice-3fields n28 grey percent85' title='#tlf-assignments.ready_help#'>#tlf-assignments.ready#</span>
+                                    </else>
+                                </if>
+                                <else>
+                                    <span class='notice-3fields n27 grey percent85' title='#tlf-assignments.time_up_help#'>#tlf-assignments.closed#</span>
+                                </else>
+                            </else>
+                         }
+                    }
+                    open_date {
+                        label "#tlf-assignments.sub_time#"
+                        display_template {
+                            <div style='white-space:nowrap;'>
+                                <span style='width:4em;display:inline-block;'>#tlf-assignments.start#:</span>
+                                @all_exercises.open_date@
+                            </div>
+                            <div style='white-space:nowrap;'>
+                                <span style='width:4em;display:inline-block;'>#tlf-assignments.end#:</span>
+                                @all_exercises.end_date@
+                            </div>
+                            <if @all_exercises.nf@ ne "">
+                                    <div class='bold'>#tlf-assignments.nachfrist#:</div>
+                                    <div style='white-space:nowrap;'>
+                                        <span style='width:4em;display:inline-block;'>#tlf-assignments.end#:</span>
+                                        @all_exercises.nf@
+                                    </div>
+                            </if>
+                            <if @all_exercises.resubmission@ ne "">
+                                    <div class='bold'>#tlf-assignments.resub_deadline#:</div>
+                                    <div style='white-space:nowrap;'>
+                                        <span style='width:4em;display:inline-block;'>#tlf-assignments.end#:</span>
+                                        @all_exercises.resubmission@
+                                    </div>
+                            </if>
+                        }
+                    }
+                    submissions {
+                        label "#tlf-assignments.b_state#"
+                        display_template {
+                        <if @all_exercises.abg_status@ eq "initial">
+                            <if @all_exercises.resubmission@ ne "">
+                                <div class='abgaben n11'>
+                                    [_ tlf-assignments.resub_open] (<a href='@all_exercises.abgabe_link@'>#xowiki.edit#</a>)
+                                </div>
+                            </if>
+                            <else>
+                                <div class='abgaben n11'>
+                                    [_ tlf-assignments.is_open] (<a href='@all_exercises.abgabe_link@'>#xowiki.edit#</a>)
+                                </div>
+                            </else>
+                        </if>
+                        <elseif @all_exercises.abg_status@ eq "rate">
+                            <div class='abgaben n11'>
+                                 [_ tlf-assignments.is_open] (<a href='@all_exercises.abgabe_link@'>#xowiki.edit#</a>)
+                            </div>
+                        </elseif>
+                         <elseif @all_exercises.abg_status@ eq "submitted">
+                            <div class='abgaben n12'>
+                                 [_ tlf-assignments.is_submitted] (<a href='@all_exercises.abgabe_link@'>#tlf-assignments.details#</a>)
+                            </div>
+                        </elseif>
+                        <elseif @all_exercises.abg_status@ eq "grade_state">
+                            <div class='abgaben n12'>
+                             [_ tlf-assignments.is_submitted] (<a href='@all_exercises.abgabe_link@'>#tlf-assignments.details#</a>)
+                            </div>
+                        </elseif>
+                         <elseif @all_exercises.abg_status@ eq "resubmission">
+                            <div class='abgaben n12'>
+                             [_ tlf-assignments.is_submitted] (<a href='@all_exercises.abgabe_link@'>#tlf-assignments.details#</a>)
+                            </div>
+                        </elseif>
+                         <elseif @all_exercises.abg_status@ eq "graded">
+                            <if @all_exercises.check_vis@ eq 1>
+                            <if @all_exercises.grade@ ne "">
+                                <div class='abgaben n13'>
+                                    [_ tlf-assignments.is_graded] (<a href='@all_exercises.abgabe_link@'>#tlf-assignments.details#</a>)
+                                </div>
+                            </if>
+                            <elseif @all_exercises.exercise_mode@ eq "#tlf-assignments.type_comment#">
+                                <div class='abgaben n13'>
+                                    [_ tlf-assignments.is_graded] (<a href='@all_exercises.abgabe_link@'>#tlf-assignments.details#</a>)
+                                </div>
+                            </elseif>
+                            </if>
+                            <else>
+                                <div class='abgaben n13'>
+                                    [_ tlf-assignments.is_graded]
+                                </div>
+                            </else>
+                        </elseif>
+                        <else>
+                            <div class='abgaben n10'>
+                                   [_ tlf-assignments.missing]
+                            </div>
+                        </else>
+                        }
+                    }
+                    actions {
+                        label "#tlf-assignments.grading#"
+                        sub_class narrow
+                        display_template {
+                            <if @all_exercises.check_vis@ eq "1">
+                            <if @all_exercises.abg_status@ eq "graded">
+                                @all_exercises.grade@
+                                 <if @all_exercises.exercise_mode@ eq "#tlf-assignments.points#">
+                                    von @all_exercises.points@
+                                </if>
+                                (@all_exercises.exercise_mode@)
+                            </if>
+                            </if>
+                            <elseif @all_exercises.resubmission@ ne "">
+                                [_ tlf-assignments.resub_help]
+                            </elseif>
+                        }
+                    }
+                }]
+            foreach fp [$assignments children] {
+                if {[lindex [$fp checkgroup [::xo::cc user_id]] 1] eq 0} {
+                    continue
+                }
+                set is_enabled [expr {[$fp check_submittable 0] eq "" ? 0 : 1}]
+                if {[$fp set state] ne "published"} {
+                    set is_enabled 0
+                }
+                set nf [$fp get_property -name [lindex [$fp checkgroup [::xo::cc user_id]] 1]_nachfrist]
+                set abgabe "abgabe_[$fp set item_id]__[lindex [$fp checkgroup [::xo::cc user_id]] 1]"
+                set abgabe_exists [$package_id lookup -name $abgabe]
+                GradingType=[$fp get_property -name modus] create [self]::gtype
+                set exercise_mode [[self]::gtype PrettyName]
+                set grade ""
+                set abgabe_link ""
+                set resubmission ""
+                if {$abgabe_exists ne 0} {
+                    set abgabe [::xo::db::CrClass get_instance_from_db -item_id $abgabe_exists]
+                    set is_enabled [expr {[$abgabe_exists check_submittable 0] eq "" ? 0 : 1}]
+                    set grade [$abgabe get_property -name grade]
+                    set abgabe_link [$abgabe pretty_link]
+                    set resubmission [$abgabe germanize_date resubmissionff]
+                }
+                set sort_order_status ""
+                if {$is_enabled eq 1} {
+                    set sort_order_status 0
+                } else {
+                    if {[clock seconds] > [clock scan [$fp get_property -name time_to]]} {
+                        set sort_order_status 2
+                    } else {
+                        set sort_order_status 1
+                    }
+                }
+                set e_form [SubmissionType=[$fp get_property -name exercise_form] asOption]
+                set state [$fp set state]
+                set abg_status ""
+                if {$abgabe_exists ne 0} {
+                     set abg_status [$abgabe_exists set state]
+                } else {
+                    set abg_status ""
+                }
+                set sort_order_abgabe ""
+                if {$abg_status eq 0} {
+                    set sort_order_abgabe 0
+                } elseif {$abg_status eq "initial"} {
+                    set sort_order_abgabe 10
+                } elseif {$abg_status eq "rate"} {
+                    set sort_order_abgabe 20
+                } elseif {$abg_status eq "submitted"} {
+                    set sort_order_abgabe 30
+                } elseif {$abg_status eq "grade_state"} {
+                    set sort_order_abgabe 40
+                } elseif {$abg_status eq "resubmission"} {
+                    set sort_order_abgabe 50
+                } elseif {$abg_status eq "graded"} {
+                    set sort_order_abgabe 60
+                }
+                ::template::multirow append all_exercises \
+                    [expr {[$fp get_property -name groups] eq ""}] \
+                    [$fp set title] \
+                    [$fp pretty_link] \
+                    $is_enabled \
+                    $state \
+                    $sort_order_status \
+                    [$fp germanize_date time_from] \
+                    [$fp germanize_date time_to] \
+                    [lc_time_fmt $nf "%d.%m.%Y %H:%M"] \
+                    $exercise_mode \
+                    $abg_status \
+                    $sort_order_abgabe \
+                    $grade \
+                    [expr {$abgabe_link eq "" ? 0 :[$fp check_grade_vis]}] \
+                    $abgabe_link \
+                    $resubmission \
+                    [$fp get_property -name points] \
+                    [$fp get_property -name verbergen] \
+                    [clock scan [$fp get_property -name time_from]]\
+                    [clock scan [$fp get_property -name time_to]] \
+                    [lindex $e_form 0]
+            }
+            array unset subs
+            ::template::multirow sort all_exercises sort_order_status sort_order_abgabe
+            append html [template::list::render -name all_exercises]
+
+            return $html
+        }
+    }
+
+    tlf_assignment_list instproc date_widget {id} {
+        set months  [lang::message::lookup [::xo::cc set locale] acs-lang.localization-mon]
+        set days {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31}
+        set monthwidget "<select name='month' id='nf${id}.month'>
+    [ad_generic_optionlist $months [list 1 2 3 4 5 6 7 8 9 10 11 12] [regsub {^0*(.+)} [clock format [clock seconds] -format %m] {\1}]]</select>"
+        set daywidget "<select name='day' id='nf${id}.DD'>
+    [ad_generic_optionlist $days $days [clock format [clock seconds] -format %d]]</select>"
+        set hourwidget "<select name='hour' id='nf${id}.HH24'>
+            [ad_integer_optionlist 1 24 [clock format [clock seconds] -format %H]]</select>"
+        set minutewidget "<select name='minute' id='nf${id}.MI'>
+        [ad_generic_optionlist [list 00 05 10 15 20 25 30 35 40 45 50 55] [list 0 5 10 15 20 25 30 35 40 45 50 55]  [clock format [clock seconds] -format %M]]</select>"
+        set year "<input name='year' id='nf${id}.YYYY' size='4' value='[clock format [clock seconds] -format %Y]'>"
+            return [subst "<div><fieldset style='margin: 0px; padding: 0px;' id='nf${id}'> $daywidget $monthwidget $year $hourwidget : $minutewidget </fieldset></div>"]
+    }
+}
Index: openacs-4/packages/tlf-assignments/tcl/tlf-assignment-portlet-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/tcl/tlf-assignment-portlet-procs.tcl,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/tcl/tlf-assignment-portlet-procs.tcl	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,67 @@
+ad_library {
+    provides support for lecturecasting portlets
+    @author: mmoser
+}
+
+namespace eval tlf_assignment_portlet {
+
+    ad_proc -private get_my_name {
+    } {
+        return "tlf_assignment_portlet"
+    }
+
+    ad_proc -private get_pretty_name {} {
+        Get portlet pretty name
+    } {
+        return "#tlf-assignments.mod_title#"
+    }
+
+    ad_proc -private link {} {
+        Get portlet link
+    } {
+        return ""
+    }
+
+    ad_proc -private add_self_to_page {
+        {-portal_id:required}
+        {-package_id:required}
+        {-param_action:required}
+    } {
+        Adds a podcast portlet to the given portal
+    } {
+        #ns_log notice "fancy portlet: adding to portal $portal_id [get_my_name] $package_id $param_action"
+        return [portal::add_element_parameters \
+                    -portal_id $portal_id \
+                    -portlet_name [get_my_name] \
+                    -pretty_name [get_pretty_name] \
+                    -value $package_id \
+                    -sort_key 0 \
+                    -param_action $param_action
+               ]
+    }
+
+    ad_proc -private remove_self_from_page {
+        {-portal_id:required}
+        {-package_id:required}
+    } {
+        Removes a portlet from the given page or just the given package_id
+    } {
+        portal::remove_element_parameters \
+            -portal_id $portal_id \
+            -portlet_name [get_my_name] \
+            -key package_id \
+            -value $package_id
+    }
+
+    ad_proc -private show {
+        cf
+    } {
+        Show portlet
+    } {
+        #ns_log notice "fancy portlet: something will be shown! $cf"
+        portal::show_proc_helper \
+            -template_src "tlf_assignment-portlet" \
+            -package_key "tlf-assignments" \
+            -config_list $cf
+    }
+}
Index: openacs-4/packages/tlf-assignments/tcl/tlf-assignments-grading-type-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/tcl/tlf-assignments-grading-type-procs.tcl,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/tcl/tlf-assignments-grading-type-procs.tcl	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,287 @@
+##::xo::db::require package xowf
+::xo::library require -package xowf xowf-procs
+
+##simple classes for grading procs
+
+Class create GenericGradingType
+
+GenericGradingType instproc validateInput {value} {
+    ns_log notice "validationmethod: none found, revert to superclass"
+    return 1
+}
+
+###
+### note
+###
+Class create GradingType=note -superclass GenericGradingType -parameter  {grade_scheme}
+
+GradingType=note instproc PrettyName {args} {
+    return "[_ tlf-assignments.type_grade]"
+}
+
+GradingType=note proc asOption {} {
+    return [subst {{[_ tlf-assignments.type_grade]} {note}}]
+}
+
+GradingType=note instproc asHTMLInput {submission} {
+    set options ""
+    if {[$submission set state] eq "submitted" || [$submission set state] eq "grade_state"} {
+        for {set i 1} {$i <=5} {incr i} {
+            if {[$submission get_property -name grade] ne $i} {
+                append options "<option>$i</option>"
+            } else {
+                append options "<option selected>$i</option>"
+            }
+        }
+        set ratinghtml "
+        <select name='grading' id='[$submission set item_id]'>
+        <option>--</option>
+        $options
+        </select>"
+    } else {
+        set ratinghtml [$submission get_property -name grade]
+    }
+    return $ratinghtml
+}
+
+GradingType=note instproc formConst {args} {
+    set fc "{grade:select,options={1 1} {2 2} {3 3} {4 4} {5 5},label=#tlf-assignments.grading#,required}"
+    return $fc
+}
+
+GradingType=note instproc validateInput {args} {
+    set value [lindex $args 0 0]
+    if {[string is integer $value] && $value <=5 && $value > 0} {
+        return 1
+    } else {
+        util_user_message -message "[_ tlf-assignments.grade_error]"
+        return 0
+    }
+}
+
+GradingType=note proc allowQuickGrade {} {
+    return 1
+}
+
+####
+###points
+####
+Class create GradingType=points -superclass GenericGradingType -parameter {maxpoints}
+
+GradingType=points proc asOption {} {
+    return {{#tlf-assignments.points# max.} {points}}
+}
+
+GradingType=points instproc PrettyName {args} {
+    return "[_ tlf-assignments.points]"
+    #"von max [$args get_property -name points]"
+}
+
+GradingType=points instproc asHTMLInput {submission} {
+    #todo display max points
+    set ast ::[$submission get_property -name assignment_id]
+    set maxpoints  [$ast get_property -name points]
+    set grade [$submission get_property -name grade]
+    if {[$submission set state] eq "submitted" || [$submission set state] eq "grade_state"} {
+        set ratinghtml "
+            <input name='grading' id='[$submission set item_id]' 
+            size='3' value='$grade'>[:PrettyName $ast] [_ tlf-assignments.of] $maxpoints
+        "
+    } else {
+        set ratinghtml "$grade [:PrettyName $ast] [_ tlf-assignments.of] $maxpoints"
+    }
+    return $ratinghtml
+}
+
+GradingType=points instproc formConst {args} {
+    set maxpoints [$args get_property -name points -default 10]
+    set fc "{grade:points,size=4,label=#tlf-assignments.points# #tlf-assignments.of# $maxpoints,required,validator=grading_validator}"
+    return $fc
+}
+
+GradingType=points instproc validateInput {args} {
+    set value [lindex $args 0 0]
+    set points [lindex $args 0 1]
+    if {[lc_get "decimal_point"] eq ","} {regsub "," $value "." value}
+    if {(![string is double $value]) || $value < 0} {
+        util_user_message -message "[_ tlf-assignments.points_lt_0]"
+        return 0
+        }
+    if {$value > $points && $points ne ""} {
+        util_user_message -message "[_ tlf-assignments.maxpoints] $points"
+        return 0
+    }
+    if {$value != [format "%.2f" $value]} {
+        util_user_message -message "[_ tlf-assignments.commas]"
+        return 0
+    }
+    return 1
+}
+
+GradingType=points proc allowQuickGrade {} {
+     return 1
+}
+
+###
+### percent
+###
+Class create GradingType=percent -superclass GenericGradingType -parameter {}
+
+GradingType=percent proc asOption {} {
+    return {{#tlf-assignments.percent#} {percent}}
+}
+
+GradingType=percent instproc PrettyName {args} {
+    return "[_ tlf-assignments.percent]"
+}
+
+GradingType=percent instproc asHTMLInput {submission} {
+    set grade [$submission get_property -name grade]
+    if {[$submission set state] eq "submitted" || [$submission set state] eq "grade_state" } {
+        set ratinghtml "
+            <input accesskey='b' name='grading' id='[$submission set item_id]' 
+            size='3' value='$grade'>%
+        "
+    } else {
+        set ratinghtml "${grade} %"
+    }
+    return $ratinghtml
+}
+
+GradingType=percent instproc formConst {args} {
+    set fc "{grade:points,size=4,validator=grading_validator,label=#tlf-assignments.percent#,required}"
+    return $fc
+}
+
+GradingType=percent instproc validateInput {args} {
+    set value [lindex $args 0 0]
+    if {[lc_get "decimal_point"] eq ","} {regsub "," $value "." value}
+    if {![string is double $value] || $value > 100 || $value < 0} {
+        util_user_message -message "[:PrettyName] [_ tlf-assignments.percent_gt_100]"
+        return 0
+    }
+    if {$value != [format "%.2f" $value]} {
+        util_user_message -message "#tlf-assignments.commas#"
+        return 0
+    }
+    return 1
+}
+
+GradingType=percent proc allowQuickGrade {} {
+    return 1
+}
+
+###
+### passed
+###
+Class create GradingType=passed -superclass GenericGradingType -parameter  {}
+
+GradingType=passed proc asOption {} {
+    return {{#tlf-assignments.type_passed#} {passed}}
+}
+
+GradingType=passed instproc PrettyName {args} {
+    return "[_ tlf-assignments.type_passed]"
+}
+
+GradingType=passed instproc asHTMLInput {submission} {
+    set grade [$submission get_property -name grade]
+    if {[$submission set state] eq "submitted" || [$submission set state] eq "grade_state"} {
+        if {$grade eq "passed"} {
+            set options "<option selected>bestanden[_ tlf-assignments.passed]</option>
+                                <option>[_ tlf-assignments.not_passed]</option>"
+        } elseif {$grade eq "not passed"} {
+            set options "<option>[_ tlf-assignments.passed]</option>
+            <option selected>[_ tlf-assignments.not_passed]</option>"
+        } else {
+          set options "
+        <option>[_ tlf-assignments.passed]</option>
+        <option>[_ tlf-assignments.not_passed]</option>"
+        }
+        set ratinghtml "
+        <select name='grading' id='[$submission set item_id]'>
+        $options
+        </select>
+        "
+        return $ratinghtml
+    } else {
+        # return [$submission get_property -name grade]
+        if {$grade in [list [lang::message::lookup de tlf-assignments.passed] \
+            [lang::message::lookup en tlf-assignments.passed] "passed"]} {
+            return [_ tlf-assignments.passed]
+        } else {
+            return [_ tlf-assignments.not_passed]
+        }
+    }
+}
+
+GradingType=passed instproc formConst {args} {
+    set fc [subst -nocommands "{grade:select,options={#tlf-assignments.passed# passed} 
+    {{#tlf-assignments.not_passed#} {not passed}},label=#tlf-assignments.grading#,required}"]
+    return $fc
+}
+
+GradingType=passed instproc validateInput {value} {
+    #todo: check for invalid values
+    return 1
+}
+
+GradingType=passed proc allowQuickGrade {} {
+    return 1
+}
+
+
+
+###
+### comment
+###
+Class create GradingType=comment -superclass GenericGradingType -parameter {}
+
+GradingType=comment proc asOption {} {
+    return {{#tlf-assignments.type_comment#} {comment}}
+}
+
+GradingType=comment instproc PrettyName {args} {
+    return "[_ tlf-assignments.type_comment]"
+}
+
+GradingType=comment instproc formConst {args} {
+    set fc "grade:hidden"
+    return $fc
+}
+
+GradingType=comment instproc asHTMLInput {submission} {
+    #stupid, change this
+    return [:PrettyName]
+}
+
+GradingType=comment proc allowQuickGrade {} {
+    return 0
+}
+
+###
+### no_grading
+###
+Class create GradingType=no_grading -superclass GenericGradingType -parameter {}
+
+GradingType=no_grading proc asOption {} {
+     return {{#tlf-assignments.no_grading#} {no_grading}}
+}
+
+GradingType=no_grading instproc PrettyName {args} {
+    return "[_ tlf-assignments.no_grading]"
+}
+
+GradingType=no_grading instproc formConst {args} {
+    set fc "grade:hidden"
+    return $fc
+}
+
+GradingType=no_grading instproc asHTMLInput {submission} {
+    return "[_ tlf-assignments.no_grading_allowed]"
+}
+
+GradingType=no_grading proc allowQuickGrade {} {
+    return 0
+}
+
Index: openacs-4/packages/tlf-assignments/tcl/tlf-assignments-policy-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/tcl/tlf-assignments-policy-procs.tcl,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/tcl/tlf-assignments-policy-procs.tcl	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,138 @@
+##::xo::db::require package xowiki
+
+namespace eval ::xowiki {
+
+    File ad_instproc -private privilege=authorized_stud_4file {
+        {-login true}
+        user_id
+        package_id
+        method
+    } {
+        Define an object specific privilege to be used in the policies.
+        Only students entitled to see this file can see it
+    } {
+        return [${:parent_id} privilege=authorized_stud $user_id $package_id $method]
+    }
+
+    FormPage ad_instproc -private privilege=authorized_stud {
+        {-login true}
+        user_id
+        package_id
+        method
+    } {
+        Define an object specific privilege to be used in the policies.
+        Only students entitled to see this page can see it
+    } {
+        if {[string match "create-assignment\[0-9\]*" ${:name}]} {
+            return 1
+        }
+        set ast [:get_property -name assignment_id]
+        if {$ast eq ""} {
+            return 0
+        }
+        if {$user_id == 0} {
+            set user_id [auth::require_login]
+        }
+
+        set item_id ${:item_id}
+
+        return [::xo::dc 0or1row -prepare integer,integer,integer,integer is_authorized {
+            select 1 from dual where exists
+            (select 1
+              from xowiki_form_instance_item_index i
+            where
+                  -- user_id is either the creator or group for this page
+                  (i.item_id = :item_id and
+                   (:user_id in (cast(i.hkey->'creator_id' as integer),
+                                 cast(i.hkey->'group_id' as integer),
+                                 (select creation_user from acs_objects where object_id = i.item_id))
+                    )
+                   )
+             or
+                  -- user_id is member of one of the groups of the assignment
+                  (i.item_id = :ast and
+                   exists (select 1 from group_member_map
+                            where group_id = any(cast(regexp_split_to_array(i.hkey->'groups', E'\\s+') as integer[]))
+                              and member_id = :user_id))
+             )
+        }]
+    }
+
+    Policy __tlf_assignments -contains {
+        ##extends the survey policy with special methods for podcasts
+        Class create Package -array set require_permission {
+            reindex             {{id admin}}
+            change-page-order   {{id admin}}
+            manage-categories   {{id admin}}
+            edit-category-tree  {{id admin}}
+            show-object   admin
+            serialize         admin
+            delete              admin
+            edit-new            admin
+            create-assign    admin
+        }
+
+        Class create File -array set require_permission {
+            download 	authorized_stud_4file
+            view        authorized_stud_4file
+            show-object swa
+            delete  creator
+        }
+
+        Class create Object -array set require_permission {
+            view login
+            edit admin
+        }
+
+        Class create Page -array set require_permission {
+            view {
+                {{regexp {name {(groupmgr|importer)$}}} package_id admin}
+                login
+            }
+            revisions          swa
+            diff               swa
+            edit               admin
+            make-live-revision swa
+            save-attributes    swa
+            delete-revision    admin
+            delete             swa
+            create-new        swa
+            create-or-use     admin
+            create-comment login
+            edit-new  admin
+        }
+
+        Class create Form -array set require_permission {
+            serialize   admin
+            list    admin
+        }
+
+        Class create FormPage -array set require_permission {
+            create-new        admin
+            delete            admin
+            view      authorized_stud
+            create-or-use     admin
+            list              admin
+            edit     login
+            serialize               swa
+            show-object   swa
+            render_exercise login
+            submit  login
+            foreign_submit  admin
+            bulk_grade  admin
+            bulk_download   admin
+            write_nf    admin
+            dosubmit    login
+            eph_register    admin
+            list_answers    admin
+            csv_export  admin
+            csv_export_ot  admin
+            view_composite  login
+            unassign_group admin
+            set_visibility  admin
+            release_grade admin
+        }
+    }
+}
+
+::xo::library source_dependent
Index: openacs-4/packages/tlf-assignments/tcl/tlf-assignments-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/tcl/tlf-assignments-procs.tcl,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/tcl/tlf-assignments-procs.tcl	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,862 @@
+ad_library {
+    tlf-assignments core
+
+    @creation-date 2011-02-22
+    @author Markus Moser
+}
+
+##::xo::db::require package xowf
+::xo::library require -package xowf xowf-procs
+::xo::library require -package tlf-assignments tlf-assignments-wf-procs
+namespace eval ::tlf_cassignments {
+
+    ::xo::PackageMgr create ::tlf_cassignments::Package \
+        -package_key "tlf-assignments" \
+        -pretty_name "#tlf-assignments.mod_title#" \
+        -superclass ::xowf::Package -table_name "tlf_assignments_core"
+
+    ad_proc -private before-install {} {
+        #check if hstore is available
+        if {![::xo::dc has_hstore]} {
+            #get rid of registered package, abort installation
+            ::xo::dc get_value unregister {
+                select apm_package_type__drop_type('tlf-assignments', 't');
+            }
+            error "hstore not found. This package requires hstore for postgres.\
+                Please consult the README for installation instructions."
+        }
+    }
+    
+    ad_proc -private before-uninstall {} {
+        ast_installer uninstall
+    }
+
+    ad_proc -private after-install {} {
+        ast_installer install
+    }
+
+
+    ad_proc -private before-uninstantiate {
+         {-package_id:required}
+    } {
+       Callback to be called whenever a package instance is deleted.
+    } {
+        set applet_key [ast_installer applet_key]
+        ::xo::dc dml delete_dotlrn_community_applet {
+            delete from dotlrn_community_applets
+            where package_id = :package_id
+            and applet_id = (select applet_id
+                             from dotlrn_applets
+                             where applet_key = :applet_key)}
+        ::xowiki::before-uninstantiate -package_id $package_id
+    }
+
+    ad_proc -private mount_callback {
+        -package_id:required
+        -node_id:required
+    } {
+        #create objects in the newly mounted package?
+        return 1
+    }
+
+    ad_proc -private upgrade_callback {
+        {-from_version_name:required}
+        {-to_version_name:required}
+    } {
+        Upgrade logic
+    } {
+        apm_upgrade_logic \
+            -from_version_name $from_version_name \
+            -to_version_name $to_version_name \
+            -spec {
+                0.131d 0.133d {
+                    ::xo::dc transaction {
+                        #placeholder
+                    }
+                }
+            }
+    }
+
+    ad_proc -private user_role {
+        {-package_id ""}
+        {-community_id ""}
+    } {
+        Checks if the current user has admin privileges for the
+        package
+
+        @author Monika Andergassen
+    } {
+        # get default values
+        if { $package_id=="" } { set package_id [ad_conn package_id] }
+        if { $community_id=="" } { set community_id [dotlrn_community::get_community_id] }
+        # check if user has admin privileges
+        if { [permission::permission_p -object_id $package_id -privilege "admin"] } {
+            return "admin"
+        }
+        # check if user has student privileges
+        if { "student"==[dotlrn_community::get_user_role $community_id] } {
+            return "student"
+        } else {
+            return "member"
+        }
+    }
+
+    namespace eval ::xowiki {
+        ::xowiki::MenuBar instproc config=assignments {
+            {-bind_vars {}}
+            -current_page:required
+            -package_id:required
+            -folder_link:required
+            -return_url
+        } {
+            ::xowiki::includelet::folder_config::assignments -mb [:self] -page $current_page
+            return {}
+
+        }
+    }
+
+
+    namespace eval ::xowiki::includelet::folder_config {}
+
+    ad_proc -private ::xowiki::includelet::folder_config::assignments {
+        {-mb:required}
+        {-page:required}
+    } {
+        Survey folder configuration
+    } {
+        set package_id [$page package_id]
+        set community_id [dotlrn_community::get_community_id]
+        set key [ast_installer applet_key]
+        set orig_url ""
+        set package_url [$package_id pretty_link -parent_id [$package_id folder_id] ""]
+        if {![permission::permission_p -object_id $package_id \
+                  -privilege "admin"]} {return}
+        $mb add_menu -name Aufgaben -label #tlf-assignments.asts#
+        $mb add_menu_item -name Aufgaben.Startseite \
+            -item [list label "[_ tlf-assignments.start_page]" url $package_url]
+        $mb add_menu -name Neu -label #tlf-assignments.new#
+        $mb add_menu_item -name Neu.Aufgabe  \
+            -item [list label "[_ tlf-assignments.create_new]" \
+                       url "${package_url}create-assignment.wf?m=create-new"]
+        $mb add_menu -name Gruppen -label "[_ tlf-assignments.groupmgr]"
+        $mb add_menu_item -name Gruppen.Gruppen\
+            -item [list label "[_ tlf-assignments.groupmgr_action]" \
+                       url "${package_url}groupmgr"]
+        $mb add_menu_item -name Gruppen.Export \
+            -item [list label "[_ tlf-assignments.Group_export]" \
+                       url "${package_url}groupmgr?a=export"]
+        set context_item 0
+        if {$context_item ne 0} {
+            mb add_menu -name Page -label "[_ tlf-assignments.This_assignment]"
+            mb add_menu_item -name Page.Bearbeiten\
+                -item [list label "[_ tlf-assignments.Edit_this_assignment]" \
+                           url "[$context_item pretty_link]?m=edit"]
+            if {[clock scan [$context_item get_property -name time_from]] < [clock seconds] } {
+                $mb add_menu_item -name Page.CSV \
+                    -item [list label "[_ tlf-assignments.csv_export]" \
+                               url "[$context_item pretty_link]?m=csv_export"]
+                $mb add_menu_item -name Page.CSVall \
+                    -item [list label "[_ tlf-assignments.csv_export_all]" \
+                               url "[$context_item pretty_link]?m=csv_export&all=1"]
+            }
+        }
+        return $mb
+    }
+
+    Package ad_instproc -private get_parameter {
+        {-check_query_parameter true}
+        {-type ""}
+        attribute
+        {default ""}
+    } {
+        Hardcoded parameters
+    } {
+        switch $attribute {
+            security_policy {
+                return "::xowiki::__tlf_assignments"
+            }
+            index_page {
+                return "index"
+            }
+            top_includelet {
+                return "none"
+            }
+            use_hstore {
+                return 1
+            }
+            PackagePath {
+                return "/dotlrn/tlf-assignments"
+            }
+            PackageTitle {
+                return "#tlf-assignments.mod_title#"
+            }
+            with_user_tracking {
+                return 0
+            }
+            MenuBar:boolean {
+                return 1
+            }
+            with_notifications {
+                return 0
+            }
+            default {
+                set res [next]
+                return $res
+            }
+        }
+    }
+
+    Package instproc split_name {string} {
+        return [list prefix "" suffix $string]
+    }
+
+    Package instproc initialize {} {
+        ::xo::Page requireJS urn:ad:js:jquery
+        ::xo::Page requireCSS "/resources/tlf-assignments/tlf-assignments.css"
+        next
+    }
+
+    Package instproc require_folder_object {} {
+        next
+        [:folder_id] set_property -new 1 extra_menu_entries {
+            {config -use assignments}
+        }
+    }
+}
+
+ad_proc -private ::tlf_cassignments::get_user_name {
+    -user_id:required
+} {
+    retrieve complete name of user
+} {
+    switch [acs_object_type $user_id] {
+        group {
+            group::get -group_id $user_id -array ""
+            return $(group_name)
+        }
+        user {
+            return [xo::dc get_value  get_user "
+            select  last_name || ' ' || first_names as name
+            FROM cc_users
+            where user_id = :user_id
+        "  "unknown"]
+        }
+    }
+}
+
+ad_proc -private ::tlf_cassignments::after_instantiate {
+    -package_id:required
+} {
+    Package after instantiation callback proc.
+} {
+    #nothing yet
+}
+
+ad_proc -private ::tlf_cassignments::get_all_counts {
+    -package_id:required
+    -display_members:required
+    {-community_id ""}
+} {
+    Retrieve counts for all items in this package.
+
+    @return a dict where keys are assignment_id + '_' +
+    assignment_status and values are the counts grouped by assignment
+    id and status
+} {
+    return [acs::per_request_cache eval -key \
+                tlf_assignemtns_get_all_counts_${package_id}_${display_members}_${community_id} {
+                    ::tlf_cassignments::get_all_counts_not_cached \
+                        -package_id $package_id \
+                        -display_members $display_members \
+                        -community_id $community_id
+    }]
+}
+
+ad_proc -private ::tlf_cassignments::get_all_counts_not_cached {
+    -package_id:required
+    -display_members:required
+    {-community_id ""}
+} {
+    Retrieve counts for all items in this package.
+
+    @return a dict where keys are assignment_id + '_' +
+    assignment_status and values are the counts grouped by assignment
+    id and status
+} {
+    set ms [clock milliseconds]
+
+    set user_id [expr {[ns_conn isconnected] ? [ad_conn user_id] : 0}]
+
+    if {$display_members} {
+        if {$community_id eq ""} {
+            if {[ns_conn isconnected]} {
+                set community_id [dotlrn_community::get_community_id]
+            } else {
+                set community_id [::xo::dc get_value get_comm_id {
+                    select min(community_id)
+                      from dotlrn_community_applets
+                     where package_id = :package_id
+                }]
+            }
+        }
+    } else {
+        set community_id ""
+    }
+
+    set create_assignment_wf_id [string trimleft [$package_id resolve_page create-assignment.wf method_var] :]
+    set abgabe_stud_wf_id       [string trimleft [$package_id resolve_page abgabe-stud.wf method_var] :]
+    set parent_id [$package_id set folder_id]
+
+    set counts [join [::xo::dc list_of_lists get_counts {
+        select cast(bt.hkey -> 'assignment_id' as integer) || '_' ||
+               case when bt.state = 'graded'
+                  then 'graded'
+                    when bt.state in ('submitted', 'grade_state', 'resubmission')
+                  then 'submitted'
+                    when bt.state in ('initial', 'rate')
+                  then 'open'
+               end,
+               count(*)
+          from xowiki_form_instance_item_index bt
+         where page_template = :abgabe_stud_wf_id
+           -- filter by group assignments in this package
+        and cast(bt.hkey -> 'assignment_id' as integer)
+        in (select item_id from xowiki_form_instance_item_index
+            where page_template  = :create_assignment_wf_id
+            and package_id     = :package_id
+            and publish_status = 'ready'
+            and parent_id      = :parent_id
+            and (state = 'published' or acs_permission.permission_p(:package_id, :user_id, 'admin')))
+        and bt.publish_status = 'ready'
+        and bt.parent_id = :parent_id
+        and ((bt.state = 'graded' and cast(bt.hkey->'graded' as boolean)) or
+             bt.state <> 'graded')
+        and not cast(bt.hkey->'amiadmin' as boolean)
+        and (not :display_members or exists (select 1 from dotlrn_member_rels_approved
+                                             where community_id = :community_id
+                                             and user_id = cast(case when cast(bt.hkey->'foreign_user' as integer) > 0
+                                                                then bt.hkey->'foreign_user'
+                                                                else bt.hkey->'creator_id' end as integer)))
+        group by 1
+    }]]
+    ns_log notice "tlf-assignments: getting counts from db took [expr {[clock milliseconds] - $ms}]"
+    return $counts
+}
+
+ad_proc -private ::tlf_cassignments::get_from_value {
+    -value:required
+    -attribute:required
+    {raw ""}
+} {
+    The value of a form entry might be:
+    - an atomic list element
+    - a list with attribute value pairs
+
+    This function tries to obtain the queried attribute from the
+    attribute value pair notation. If this fails, it returns a default
+    value.
+
+    taken from xowiki::formfield::file, needed if no initialized file
+    formfield is available
+} {
+    set valueLength [llength $value]
+    if {$valueLength > 1 && $valueLength %2 == 0} {
+        array set "" $value
+        if {[info exists ($attribute)]} {
+            return $($attribute)
+        }
+    }
+    return [join $raw]
+}
+
+Object ast_installer
+
+ast_installer proc applet_key {} {
+    return "tlf-assignments"
+}
+
+ast_installer proc my_package_key {} {
+    return "tlf-assignments"
+}
+
+ast_installer ad_proc -private package_key {} {
+    What package do I deal with?
+} {
+    return "tlf-assignments"
+}
+
+ast_installer ad_proc -private node_name {} {
+    returns the node name
+} {
+    return "assignments"
+}
+
+ast_installer ad_proc -private pretty_name {} {
+    returns the pretty name
+} {
+    return #tlf-assignments.mod_title#
+}
+
+ast_installer ad_proc -private add_applet {
+} {
+    One time init - must be repeatable!
+} {
+    ns_log notice "tlf_assignments:adding applet!"
+    if {![dotlrn::is_package_mounted -package_key [:package_key]]} {
+        set package_id [dotlrn::mount_package \
+                            -url [:package_key] \
+                            -package_key [:package_key] \
+                            -pretty_name "#tlf-assignments.mod_title#" \
+                            -directory_p t \
+                           ]
+        dotlrn_applet::add_applet_to_dotlrn \
+            -applet_key [:applet_key] \
+            -package_key [:my_package_key]
+        ::xowf::Package initialize -package_id $package_id
+        #import workflow and workflow items
+        set wf_item [$package_id www-import-prototype-page workflow.wf]
+        ns_log notice "wf_item $wf_item"
+        #assignment creation workflow
+        ::xowiki::FormPage create create_wf -noinit \
+            -set object_type ::xowiki::FormPage \
+            -set name create-assignment.wf \
+            -set page_template [$wf_item set item_id]  \
+            -title "Workflow Aufgabenerstellung" \
+            -set text {} \
+            -set nls_language {en_US} \
+            -set package_id $package_id \
+            -set parent_id [$package_id set folder_id] \
+            -set anon_instances f \
+            -set instance_attributes {
+                workflow_definition {::xowf::include /packages/tlf-assignments/lib/create-assignment.wf}
+            }
+        create_wf save_new
+
+        #submission workflow
+        ::xowiki::FormPage create submit_wf -noinit \
+            -set object_type ::xowiki::FormPage \
+            -set name abgabe-stud.wf \
+            -set page_template [$wf_item set item_id] \
+            -title "Workflow Studentenabgabe" \
+            -set text {} \
+            -set package_id $package_id \
+            -set parent_id [$package_id set folder_id] \
+            -set nls_language {en_US} \
+            -set anon_instances f \
+            -set instance_attributes {
+                workflow_definition {::xowf::include /packages/tlf-assignments/lib/assignment.wf}
+            }
+        submit_wf save_new
+
+        #index page
+        ::xowiki::Page create index_page \
+            -set object_type ::xowiki::Page \
+            -set name index \
+            -set mime_type text/html \
+            -set nls_language en_US \
+            -set package_id $package_id \
+            -set parent_id [$package_id set folder_id] \
+            -set text {{{{tlf_assignment_list}}} text/html} \
+            -set title #tlf-assignments.asts#
+        index_page save_new
+
+        ::xowiki::Page create groupmgr_page \
+            -set object_type ::xowiki::Page \
+            -set name groupmgr \
+            -set mime_type text/html \
+            -set nls_language en_US \
+            -set package_id $package_id \
+            -set parent_id [$package_id set folder_id] \
+            -set text {{{{tlf_groupmgr}}} text/html} \
+            -set title #tlf-assignments.groupmgr#
+        groupmgr_page save_new
+            
+    }
+}
+
+ast_installer ad_proc -private  remove_applet {
+} {
+    One time destroy.
+} {
+    ad_return_complaint 1 "[:applet_key] remove_applet not implemented!"
+}
+
+ast_installer ad_proc -private add_applet_to_community {
+    community_id
+} {
+    Add the xowiki applet to a specific dotlrn community
+} {
+    ns_log notice "tlf_assignments:adding applet to community"
+    # get the community portal id
+    set portal_id [dotlrn_community::get_portal_id -community_id $community_id]
+
+    # get applet id
+    set applet_id [dotlrn_applet::get_applet_id_from_key -applet_key [:applet_key]]
+    # create the package instance
+    set package_id [dotlrn::instantiate_and_mount \
+                        -mount_point [:node_name]  \
+                         $community_id [:package_key]]
+    #add portlet
+    set args [ns_set create]
+    ns_set put $args package_id $package_id
+    ns_set put $args param_action ""
+
+    :add_portlet  $portal_id $args
+
+    #::xowiki::Package initialize -package_id $package_id
+    ns_log notice "tlf_assignments: adding applet to community pid $package_id"
+    return $package_id
+}
+
+ast_installer ad_proc -private remove_applet_from_community {
+    community_id
+} {
+    remove the applet from the community
+} {
+    # get package id
+    set package_id [dotlrn_community::get_applet_package_id \
+                        -community_id $community_id \
+                        -applet_key [:applet_key]]
+    # get portal id's
+    set applet_id [dotlrn_applet::get_applet_id_from_key -applet_key [:applet_key]]
+    #remove applet
+    tlf_assignment_portlet::remove_self_from_page -portal_id $portal_id -package_id $package_id
+    #unmount package
+    dotlrn::unmount_package -package_id $package_id
+}
+
+ast_installer ad_proc -private add_user {
+    user_id
+} {
+    one time user-specific init
+} {
+    # noop
+}
+
+ast_installer ad_proc -private remove_user {
+    user_id
+} {
+    Remove user
+} {
+    # Just log the complaint instead of showing it to the user (script
+    # would keep going anyway, as it is not aborted). Needed for
+    # automated tests
+    ns_log warning "[:applet_key] remove_user not implemented!"
+    # ad_return_complaint 1 "[:applet_key] remove_user not implemented!"
+    return
+}
+
+ast_installer ad_proc -private add_user_to_community {
+    community_id
+    user_id
+} {
+    Add a user to a specific dotlrn community
+} {
+    ns_log notice "adding user $user_id"
+    set portal_id [dotlrn::get_portal_id -user_id $user_id]
+    set package_id [dotlrn_community::get_applet_package_id -community_id $community_id -applet_key [:applet_key]]
+    # use "append" here since we want to aggregate
+    set args [ns_set create]
+    ns_set put $args package_id $package_id
+    ns_set put $args param_action append
+    #ns_log notice "mmo adding user to community $package_id $community_id $user_id"
+    :add_portlet $portal_id $args
+    # flush cache for this portal
+    #::tlf_global flush_portal $portal_id
+    set this_user $user_id
+    #package initialize
+    if {[ns_conn isconnected]} {
+        ::xowiki::Package initialize -package_id $package_id
+        #ns_log notice "did a normal package init on connected"
+    } else {
+        ::xowiki::Package initialize -package_id $package_id -init_url false \
+            -url [site_node::get_url_from_object_id -object_id $package_id] -user_id [acs_magic_object "sys_account"] -actual_query ""
+        #ns_log notice "did a package init on not connected"
+    }
+    #activate deactivated hw
+    set sub_template [string trimleft [$package_id resolve_page abgabe-stud.wf method_var] :]
+    set user_submissions [xo::dc list sub_list "select item_id from
+    xowiki_form_instance_item_index
+    where package_id = :package_id
+    and page_template = :sub_template
+    and (hkey->'group_id')::text = :this_user"]
+    if {[llength $user_submissions] > 0} {
+        ns_log notice $user_submissions
+        foreach subm $user_submissions {
+            ::xo::xotcl_object_cache flush $subm
+            set revision_id [xo::dc get_value db_rev "select latest_revision
+                from cr_items where item_id = :subm"]
+            ns_log notice "revision_id $revision_id"
+            ::xo::db::sql::content_item set_live_revision \
+                -revision_id $revision_id \
+                -publish_status "ready"
+            ns_log notice "enabled  $subm of user $this_user"
+        }
+    }
+    #adjust groups
+    #::tlf_groupmgr::add_user_to_community $community_id $this_user
+}
+
+ast_installer ad_proc -private remove_user_from_community {
+    community_id
+    user_id
+} {
+    Remove a user from a community
+} {
+    set package_id [dotlrn_community::get_applet_package_id -community_id $community_id -applet_key [:applet_key]]
+    set portal_id [dotlrn::get_portal_id -user_id $user_id]
+    set args [ns_set create]
+    ns_set put $args package_id $package_id
+    # ns_log notice "mmo removing portlet $package_id $community_id $user_id"        :remove_portlet $portal_id $args
+    # flush cache for this portal
+    #::tlf_global flush_portal $portal_id
+    #set user submissions inactive
+    set result [list]
+    set level [info level]
+    incr level -1
+    for { set i 1 } { $i <= $level } { incr i 1 } {
+        lappend result [lindex [info level $i] 0]
+    }
+    foreach res $result {
+        if {[regexp {^.*(dotlrn_community::archive)$} $res match]} {
+            ns_log notice "$community_id - remove_user_from_community called from dotlrn_community::archive, terminate!"
+            return
+        }
+    }
+    #if this is a shared course and the user is registered in another community, do not archive the submissions!
+    set key [ast_installer applet_key]
+    set user_active_in_shared_pkg [xo::dc list shared_pkg "
+        select community_id
+          from dotlrn_member_rels_approved
+         where community_id in (
+               select community_id from dotlrn_community_applets
+                where package_id = :package_id)
+           and rel_type in ('dotlrn_student_rel','dotlrn_member_rel')
+           and user_id = :user_id
+           and community_id != :community_id"]
+    if {$user_active_in_shared_pkg ne ""} {
+        ns_log notice "user $user_id is still active in shared package $user_active_in_shared_pkg, do not deactivate submissions!"
+        return
+    }
+    set this_user $user_id
+    if {[ns_conn isconnected]} {
+        ::xowiki::Package initialize -package_id $package_id
+        # ns_log notice "mmo did a normal package init on connected"
+    } else {
+        ::xowiki::Package initialize -package_id $package_id \
+            -init_url false \
+            -url [site_node::get_url_from_object_id -object_id $package_id] \
+            -user_id [acs_magic_object "sys_account"] \
+            -actual_query ""
+        # ns_log notice "mmo did a package init on not connected"
+    }
+
+    set submission_template [string trimleft [$package_id resolve_page abgabe-stud.wf method_var] :]
+    set user_submissions [xo::dc list sub_list "
+        select item_id
+        from xowiki_form_instance_item_index
+        where package_id = :package_id
+        and (hkey->'group_id')::text = :this_user
+        and page_template = :submission_template"]
+    if {[llength $user_submissions] > 0} {
+        # ns_log notice $user_submissions
+        foreach subm $user_submissions {
+            ::xo::xotcl_object_cache flush $subm
+            set revision_id [xo::dc get_value db_rev "
+                select latest_revision
+                from cr_items
+                 where item_id = :subm"]
+            # ns_log notice "revision_id $revision_id"
+            ::xo::db::sql::content_item set_live_revision \
+                -revision_id $revision_id \
+                -publish_status "production"
+            # ns_log notice "removed $subm of user $user_id"
+        }
+    }
+    #call groupmgr to remove user from groups
+    # ns_log notice "calling groupmr"
+    ::tlf_groupmgr::remove_user_from_community $community_id $user_id
+    # ns_log notice "done"    
+}
+
+ast_installer ad_proc -private add_portlet {
+    portal_id
+    args
+} {
+    A helper proc to add the underlying portlet to the given portal.
+
+    @param portal_id
+} {
+    tlf_assignment_portlet::add_self_to_page \
+        -portal_id $portal_id \
+        -package_id [ns_set get $args "package_id"] \
+        -param_action [ns_set get $args "param_action"]
+    #flush cached portal objects
+#    ns_cache flush tlf_global_cache portal.${portal_id}
+}
+
+ast_installer ad_proc -private remove_portlet {
+    portal_id
+    args
+} {
+    A helper proc to remove the underlying portlet from the given portal.
+
+    @param portal_id
+    @param args A list of key-value pairs (possibly user_id, community_id, and more)
+} {
+    tlf_assignment_portlet::remove_self_from_page \
+        -portal_id $portal_id \
+        -package_id  [ns_set get $args "package_id"]
+    #flush cached portal objects
+#    ns_cache flush tlf_global_cache portal.${portal_id}
+}
+
+ast_installer ad_proc -private clone {
+    old_community_id
+    new_community_id
+} {
+    Clone this applet's content from the old community to the new one
+} {
+    #not implemented
+}
+
+ast_installer ad_proc -private change_event_handler {
+    community_id
+    event
+    old_value
+    new_value
+} {
+    listens for the following events:
+} {
+    #; nothing
+}
+
+ast_installer proc install {} {
+    ns_log notice "xolrn:doing an install of tlf_assignments package"
+    set name [:applet_key]
+    ::xo::dc transaction {
+        # register the applet implementation
+        ::xo::db::sql::acs_sc_impl new \
+            -impl_contract_name "dotlrn_applet" -impl_name $name \
+            -impl_pretty_name "" -impl_owner_name $name
+        # add the operations
+
+        foreach {operation call} {
+            GetPrettyName         "ast_installer pretty_name"
+            AddApplet                 "ast_installer add_applet"
+            RemoveApplet              "ast_installer remove_applet"
+            AddAppletToCommunity      "ast_installer add_applet_to_community"
+            RemoveAppletFromCommunity "ast_installer remove_applet_from_community"
+            AddUser                   "ast_installer add_user"
+            RemoveUser                "ast_installer remove_user"
+            AddUserToCommunity        "ast_installer add_user_to_community"
+            RemoveUserFromCommunity   "ast_installer remove_user_from_community"
+            AddPortlet                "ast_installer add_portlet"
+            RemovePortlet             "ast_installer remove_portlet"
+            Clone                     "ast_installer clone"
+            ChangeEventHandler        "ast_installer change_event_handler"
+        } {
+            ::xo::db::sql::acs_sc_impl_alias new \
+                -impl_contract_name "dotlrn_applet" -impl_name $name  \
+                -impl_operation_name $operation -impl_alias $call \
+                -impl_pl "TCL"
+        }
+
+        # Add the binding
+        ::xo::db::sql::acs_sc_binding new \
+            -contract_name "dotlrn_applet" -impl_name $name
+        :add_applet
+    }
+}
+
+ast_installer proc uninstall {} {
+    :log "--doing an uninstall of tlf-assignments"
+    #
+    # pretty similar "xowiki_portlet uninstall"
+    #
+    set name [:applet_key]
+
+    ::xo::dc transaction {
+        #
+        # get the datasource
+        #
+
+        set ds_id [xo::dc get_value  dbqd..get_ds_id {
+            select datasource_id from portal_datasources where name = :name
+        }  "0"]
+
+        if {$ds_id == 0} {
+            ns_log notice "No datasource id found for $name"
+        } else {
+            #
+            # drop the datasource
+            #
+            ::xo::db::sql::portal_datasource delete -datasource_id $ds_id
+        }
+        #
+        #  drop the operation
+        #
+        foreach operation {
+            GetPrettyName
+            AddApplet
+            RemoveApplet
+            AddAppletToCommunity
+            RemoveAppletFromCommunity
+            AddUser
+            RemoveUser
+            AddUserToCommunity
+            RemoveUserFromCommunity
+            AddPortlet
+            RemovePortlet
+            Clone
+        } {
+            ::xo::db::sql::acs_sc_impl_alias delete \
+                -impl_contract_name "dotlrn_applet" -impl_name $name \
+                -impl_operation_name $operation
+        }
+        #
+        #  drop the binding
+        #
+        ::xo::db::sql::acs_sc_binding delete \
+            -contract_name "dotlrn_applet" -impl_name $name
+
+        #
+        #  drop the implementation
+        #
+        ::xo::db::sql::acs_sc_impl delete \
+            -impl_contract_name "dotlrn_applet" -impl_name $name
+
+        #remove dotlrn_applet
+        ::xo::dc dml delete_applet {
+            delete
+            from dotlrn_applets
+            where applet_key = :name
+        }
+    }
+    :log "finished uninstall of tlf-assignments"        
+}
+
+namespace eval ::xowf {
+
+    AssignmentCoreWFprocs instproc build_name {{-nls_language ""}} {
+        set name ${:name}
+        return $name
+    }
+
+    AssignmentCoreWFprocs instproc is_link_page {} {
+        return 0
+    }
+
+    AssignmentCoreWFprocs instproc footer {} {
+        return ""
+    }
+}
+
+::xo::library source_dependent
+
+#
+# Local variables:
+#    mode: tcl
+#    tcl-indent-level: 4
+#    indent-tabs-mode: nil
+# End:
Index: openacs-4/packages/tlf-assignments/tcl/tlf-assignments-submission-type-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/tcl/tlf-assignments-submission-type-procs.tcl,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/tcl/tlf-assignments-submission-type-procs.tcl	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,575 @@
+##::xo::db::require package xowf
+::xo::library require -package xowf xowf-procs
+
+Class create GenericSubmissionType \
+	-parameter { {bewertungsmodus ""}}
+
+GenericSubmissionType instproc special_submit_action {obj} {
+    return ""
+}
+
+GenericSubmissionType instproc post_grading_action {obj} {
+    return ""
+}
+
+GenericSubmissionType proc allow_draft {} {return 0}
+GenericSubmissionType proc auto_handin {} {return 0}
+
+######################################################
+# SubmissionType=File
+######################################################
+Class create SubmissionType=file -superclass GenericSubmissionType -parameter {}
+SubmissionType=file set allow_download 1
+SubmissionType=file set rating_needed 0
+SubmissionType=file set allow_resub 1
+SubmissionType=file set allow_regrade 1
+SubmissionType=file set allowQuickGrade 1
+SubmissionType=file proc allow_draft {} {return 1}
+
+SubmissionType=file proc asOption {} {
+    return {{#tlf-assignments.fileex#} {file}}
+}
+
+SubmissionType=file proc elegible_types {} {
+    return [list "alle" "einzelne" "gruppe"]
+}
+
+SubmissionType=file instproc form_info {obj ast} {
+    set subm "
+    @file1@
+   [$obj multiple_files file]
+   "
+    # set form_info_final "
+    # <div class=\"form-help-text\">
+    # <img width=\"12\" height=\"9\" border=\"0\" style=\"margin-right: 5px\" title=\"Help text\" src=\"/shared/images/info.gif\">
+    # [_ tlf-assignments.abgabe_help]</div>"
+    set form_info_final "
+    <div>
+        <br><span class='information'>[_ tlf-assignments.abgabe_help]</span>&nbsp;<span class='bold'>[_ tlf-assignments.abgabe_help2]</span><br>
+        <span class='information blank'>[_ tlf-assignments.abgabe_save_draft_instead]</span>
+    </div>
+    "
+        set rev [$obj set revision_id]
+        set id [$obj set item_id]
+        set lastrev [::xo::dc get_value rev "select max(revision_id) from xowiki_form_pagei bt where item_id = :id and revision_id != :rev"]
+        set resubon 0
+        if {$lastrev ne ""} {
+        ::xo::db::CrClass get_instance_from_db -revision_id $lastrev
+        set resubon [expr {[$lastrev set state] eq "resubmission"}]
+        }
+    set fc "
+     {file1:pretty_file,label=#tlf-assignments.my_sub#,size=10,resub=$resubon,required=1}
+      file2:pretty_file,label=,size=10,resub=$resubon
+                file3:pretty_file,label=,size=10,resub=$resubon
+                file4:pretty_file,label=,size=10,resub=$resubon
+                file5:pretty_file,label=,size=10,resub=$resubon
+    "
+
+    return [list subm $subm form_info_final $form_info_final fc $fc]
+}
+
+SubmissionType=file instproc submission_form_html {obj ast} {
+    set ff ""
+
+     for {set i 1} {$i < 6} {incr i} {
+            if {[$obj get_property -name file$i] ne "" } {
+                append ff @file$i@\n
+            }
+        }
+    append html [$obj collect_submissions]
+    #append html "<div class='submission-title'>Aktuelle Abgabe</div>"
+    set stud [$obj get_property -name creator_id]
+      if {[$ast get_property -name groups] ne ""} {
+                    set group_id [$obj get_property -name group_id]
+            if {[set sd [$obj get_property -name submission_date]] ne ""} {
+                append html "<div class='submission-title'>[_ tlf-assignments.cur_sub] [clock format $sd -format {%d.%m.%Y %H:%M}]</div>"
+            } else {
+               append html "<div class='submission-title'>[_ tlf-assignments.cur_sub]</div>"
+            }
+            set gname [::xo::dc get_value group_name "select group_name from groups where group_id = :group_id" "namenlos"]
+            set uname [::tlf_cassignments::get_user_name -user_id $stud]
+            append html "<div class='submitter'>$uname "
+            if {[permission::permission_p -object_id [$obj set package_id] -privilege "admin"]} {
+                append html "([_ tlf-assignments.group] <a href='groupmgr?a=view_detail&id=$group_id&return_url=[::xo::cc set url]'>$gname</a>)</div>"
+            } else {
+                append html "([_ tlf-assignments.group] $gname)</div>"
+            }
+            return [list html $html ff $ff]
+        }
+
+
+    if {[set sd [$obj get_property -name submission_date]] ne ""} {
+        append html "<div class='submission-title'>[_ tlf-assignments.cur_sub] [clock format $sd -format {%d.%m.%Y %H:%M}]</div>"
+    } else {
+       append html "<div class='submission-title'>[_ tlf-assignments.cur_sub]</div>"
+    }
+    set uname [::tlf_cassignments::get_user_name -user_id $stud]
+    append html "<div class='submitter'>$uname</div>"
+
+    return [list html $html ff $ff]
+}
+
+SubmissionType=file instproc render_preview {{-view_only 0} submission} {
+    if {$view_only} {
+         set abgabe "<a href='[$submission pretty_link]?view_method=view'>[_ tlf-assignments.details]</a>"
+    } else {
+        set abgabe "<a href='[$submission pretty_link]'>[_ tlf-assignments.details]</a>"
+    }
+    return $abgabe
+}
+
+SubmissionType=file instproc grading_form {obj} {
+        set gradehtml ""
+        set grade_fc ""
+    if {[::xo::cc role=admin -user_id [::xo::cc user_id] -package_id [$obj package_id]]} {
+            set gradehtml "
+            <div class='submission-title'>[_ tlf-assignments.grading]</div>
+            @supervisorcomment@
+            @grade@
+            @superfile@
+            "
+            append grade_fc "
+            {superfile:pretty_file,label=#tlf-assignments.file_upload#,size=10}
+            {supervisorcomment:textarea,label=#tlf-assignments.supercomment#}
+            "
+        }
+
+    return [list form $gradehtml ff $grade_fc]
+}
+
+SubmissionType=file instproc graded_form_html {obj ast} {
+    set link ""
+    for {set i 1} {$i < 6} {incr i} {
+        if {[$obj get_property -name file$i] ne "" } {
+            append link "@file$i@\n"
+        }
+    }
+
+    set ff "{comment:label,label=}
+    {file1:pretty_file,disabled,label=#tlf-assignments.subm#}
+    {supervisorcomment:label,label=}"
+    return [list link $link ff $ff]
+}
+
+SubmissionType=file proc workflow_definition {} {
+    return {
+        ${:object} mixin add ButtonCancelMixin
+        State parameter [list {view_method edit}]
+        State initial -form_loader abgabe_initial
+        initial proc actions {} {
+            return [${:object} check_submittable]
+        }
+        Action initialize
+        Action submit -label  [_ tlf-assignments.abgabe_submit] \
+            -next_state submitted -proc activate {obj} {$obj dosubmit}
+        Action cancel -proc activate {obj} {$obj delete} \
+            -label [_ tlf-assignments.abgabe_cancel]
+        Action upload -next_state initial  \
+            -label [_ tlf-assignments.abgabe_upload]
+        Action grade_again -next_state grade_state \
+            -label [_ tlf-assignments.abgabe_grade_again]
+        Action grade -next_state graded \
+            -label [_ tlf-assignments.abgabe_grade] \
+            -proc activate {obj} {$obj grading_done}
+        Action returnforsubmission -next_state resubmission \
+            -label [_ tlf-assignments.abgabe_returnforsubmission]
+        Action dograding -next_state grade_state \
+            -label [_ tlf-assignments.abgabe_dograding]
+        Action doresubmission -next_state initial \
+            -label [_ tlf-assignments.abgabe_doresubmission] \
+            -proc activate {obj} {$obj do_resubmission}
+
+
+        State submitted -in_role admin {
+            -actions {dograding returnforsubmission}
+        } -form_loader {abgabe_submitted}
+
+        #disable grade_again for now
+        State graded -in_role admin {
+            -actions {grade_again}
+        } -form_loader {abgabe_graded}
+
+        State resubmission -in_role admin {
+            -actions doresubmission -form_loader abgabe_submitted
+        } -form_loader abgabe_resubmission
+
+        State grade_state -in_role admin {
+            -actions grade -form_loader abgabe_submitted
+        } -form_loader abgabe_grade
+    }
+}
+
+######################################################
+# SubmissionType=Ot
+######################################################
+Class create SubmissionType=ot -superclass GenericSubmissionType -parameter {  }
+SubmissionType=ot set allow_download 0
+SubmissionType=ot set rating_needed 1
+SubmissionType=ot set allow_resub 0
+SubmissionType=ot set allow_regrade 0
+SubmissionType=ot set allowQuickGrade 0
+SubmissionType=ot proc asOption {} {
+    return {{#tlf-assignments.otex#} {ot}}
+}
+
+SubmissionType=ot proc elegible_types {} {
+    return [list "alle" "einzelne" "gruppe"]
+}
+
+SubmissionType=ot instproc form_info {obj ast} {
+                set form_info_final ""
+                set abgabe "
+                <div class='table-wizard'>
+                    <div class='tr'>
+                    <div class='td active'>[_ tlf-assignments.ot_step1]</div>
+                    <div class='td grey'>[_ tlf-assignments.ot_step2]</div>
+                    </div>
+                    </div>
+                    @answer@"
+    return [list subm $abgabe form_info_final $form_info_final fc ""]
+}
+
+SubmissionType=ot instproc render_preview {{-view_only 0} submission } {
+    if {$view_only} {
+        set abgabe "<a href='[$submission pretty_link]?view_method=view'>[_ tlf-assignments.details]</a><br>"
+    } else {
+        set abgabe "<a href='[$submission pretty_link]'>[_ tlf-assignments.details]</a><br>"
+    }
+    append abgabe "<p class='percent85'>Antwort: [$submission get_property -name answer]<br>
+    <p class='percent85'>Kommentar: [$submission get_property -name comment]<br>
+     bvar: [format %.2f [$submission get_property -name bvar -default 0]]<br>
+     evar: [format %.2f [$submission get_property -name evar -default 0]]<br>
+     qvar: [format %.2f [$submission get_property -name qvar -default 0]]<br>
+     tvar: [$submission get_property -name tvar]<br>
+     #tlf-assignments.plagcheck_match#: [$submission get_property -name ldist]<br>
+     ratings: [llength [$submission get_property -name ratings]]"
+    return $abgabe
+}
+
+SubmissionType=ot instproc special_submit_action {obj} {
+    set j 0
+    set items [$obj get_ot_answers]
+    foreach i $items {
+        array set item_ia [$i instance_attributes]
+        $obj set_property -new 1 rateitem[incr j] $item_ia(answer)
+        lappend fetched_item_ids [$i item_id]
+        array unset item_ia
+        if {$j > 2} {break}
+    }
+    #$obj set_property -new 1 your_answer [$obj property answer]
+    $obj set_property -new 1 fetched_item_ids $fetched_item_ids
+}
+
+SubmissionType=ot instproc post_grading_action {obj} {
+        #calculate new qvar based on teachers' assessment
+        set bvar [$obj get_property -name bvar -default ""]
+        set tvar [expr {[$obj get_property -name grade]/10.0}]
+        set newqvar [expr {($bvar + $tvar)/2}]
+        set ast_id [$obj get_property -name assignment_id]
+        set modus [::xo::dc get_value get_mode "select (hkey->'modus')
+                                        from xowiki_form_pagei bt, cr_items ci
+                                        where bt.item_id = :ast_id
+                                        and bt.revision_id = ci.live_revision
+                                        and ci.item_id = bt.item_id"]
+        set grade ""
+        switch $modus {
+            note {
+                set grade 5
+                if {$newqvar > 0.5} {
+                    set grade 4
+                } elseif {$newqvar > 0.6} {
+                    set grade 3
+                } elseif {$newqvar > 0.7} {
+                    set grade 2
+                } elseif {$newqvar > 0.8} {
+                    set grade 1
+                }
+            }
+            percent {
+                set grade [expr {ceil(($newqvar/1)*100)}]
+            }
+            passed {
+                if {$newqvar > 0.5} {
+                    set grade "[_ tlf-assignments.passed]"
+                } else {
+                    set grade "[_ tlf-assignments.not_passed]"
+                }
+            }
+            points {
+                set maxpoints [::xo::dc get_value get_points "select (hkey->'points')
+                    from xowiki_form_pagei bt, cr_items ci
+                    where bt.item_id = :ast_id
+                    and bt.revision_id = ci.live_revision
+                    and ci.item_id = bt.item_id" 0]
+                if {$maxpoints eq "0"} {
+                    set maxpoints 10
+                }
+                set grade [format %.2f [expr {$newqvar*$maxpoints}]]
+            }
+        }
+        $obj set_property -new 1 tvar $tvar
+        $obj set_property qvar $newqvar
+        $obj set_property grade $grade
+        ns_log notice "i have been graded qvar $newqvar tvar $tvar"
+        #$obj set_property grade [string range [expr {$newqvar*10.0}] 0 3]
+        #do a first level recursion
+        foreach ratingitem [$obj get_property -name ratings] {
+            ns_log notice "grading_ot: item has been rated by $ratingitem"
+            foreach {value item} $ratingitem {
+                ::xo::db::CrClass get_instance_from_db -item_id $item
+                ns_log notice "grading_ot: doing recalc basevalues for item $item"
+                $item calc_basevalues_ot [$item get_property -name fetched_item_ids]
+                $item save
+            }
+        }
+}
+
+SubmissionType=ot instproc grading_form {obj} {
+    set user [::tlf_cassignments::get_user_name -user_id [$obj get_property -name creator_id]]
+    set litem [$obj get_property -name ldist_item]
+    set lanswer ""
+    if {[string is integer $litem] && $litem > 0} {
+        ::xo::db::CrClass get_instance_from_db -item_id $litem
+        set lanswer [$litem get_property -name answer]
+    }
+    set formvars "
+     <div class='submission-title margin-top-1'>Mögliches Plagiat</div>
+            $lanswer
+            <hr><div class='submission-title'>[_ tlf-assignments.subm]</div>
+            <div class='submitter'>$user</div>
+            @rateitem1@
+            @rateitem1_scale@
+            @rateitem2@
+            @rateitem2_scale@
+            @rateitem3@
+            @rateitem3_scale@
+            @ldist@
+            <div class='submission-title margin-top-1'>[_ tlf-assignments.grading]</div>
+            @grade@
+            @supervisorcomment@
+        "
+
+        set fc  "
+            {file1:pretty_file,disabled,label=#tlf-assignments.subm#}
+            @cr_fields:hidden
+            group_id:hidden
+            comment:label,label=#tlf-assignments.comment#
+            {supervisorcomment:textarea,label=#tlf-assignments.supercomment#,admin?:hidden}
+            assignment_id:hidden
+            {rateitem1_scale:label,label=,admin?:hidden}
+            {rateitem2_scale:label,label=,admin?:hidden}
+            {rateitem3_scale:label,label=,admin?:hidden}
+            {rateitem1:richtext,disabled=1,label=#tlf-assignments.rated_ans# 1,admin?:hidden}
+            {rateitem2:richtext,disabled=1,label=#tlf-assignments.rated_ans# 2,admin?:hidden}
+            {rateitem3:richtext,disabled=1,label=#tlf-assignments.rated_ans# 3,admin?:hidden}
+            {answer:richtext,disabled=1,label=#tlf-assignments.subm_ans#}
+            {grade:scale,n=10,\
+            label=#tlf-assignments.admin_rate#,admin?required:hidden,\
+            help_text=#tlf-assignments.admin_rate_help#}
+            {supervisorcomment:richtext,
+                editor=ckeditor4,
+                label=#tlf-assignments.supercomment#,
+                toolbar=Minimal,
+                customConfig=/resources/tlf-assignments/ck_config_minimal.js,
+                extraPlugins=,
+                admin?:hidden}
+            {ldist:label,label=#tlf-assignments.plagcheck_match#}
+        "
+    return [list form $formvars ff $fc]
+}
+
+SubmissionType=ot instproc submission_form_html {obj ast} {
+    set qvar [$obj get_property -name bvar]
+    append html "<div class='submission-title'>#tlf-assignments.subm#"
+    if {[set sd [$obj get_property -name submission_date]] ne ""} {
+        append html " [clock format $sd -format {%d.%m.%Y %H:%M}]"
+    }
+    append html "</div>"
+    set stud [$obj get_property -name creator_id]
+    set uname [::tlf_cassignments::get_user_name -user_id $stud]
+    append html "<div class='submitter'>$uname</div>"
+    append html "@answer@"
+    if {[permission::permission_p -object_id [$obj set package_id] -privilege "admin"]} {
+        append html "<div class='form-item-wrapper'>
+                        <div class='form-label'>
+                            <label>#tlf-assignments.pre_grade#</label>
+                        </div>
+                        <div class='form-widget'>[string range [expr {$qvar*10}] 0 3] von 10
+                        </div>
+                    </div>"
+    }
+    append html "<br>"
+    return [list html $html ff ""]
+}
+
+
+SubmissionType=ot instproc graded_form_html {obj ast} {
+                set link "@answer@"
+                set ff "{answer:richtext,disabled=1,label=#tlf-assignments.subm_ans#}"
+                set amiadmin [permission::permission_p -object_id [$obj set package_id] -privilege "admin"]
+                if {$amiadmin} {
+                    append link "
+                        @bvar@
+                        @tvar@"
+                    append ff "
+                        {bvar:label,label=#tlf-assignments.rating_stud#}
+                        {tvar:label,label=#tlf-assignments.rating_admin#}
+                    "
+                }
+                append ff "
+                {supervisorcomment:richtext,disabled=1,label=#tlf-assignments.supercomment#}
+                {comment:label,label=#tlf-assignments.comment#}"
+            return [list link $link ff $ff]
+            }
+
+SubmissionType=ot proc workflow_definition {} {
+    return {
+     ${:object} mixin add ButtonCancelMixin
+	State parameter [list {view_method edit}]
+	State initial -form_loader abgabe_initial
+        initial proc actions {} {
+            return [${:object} check_submittable]
+       }
+    Action initialize
+    Action submit -proc activate {obj} {$obj dosubmit} \
+        -label  [_ tlf-assignments.abgabe_weiter] \
+        -next_state rate
+    Action cancel -proc activate {obj} {$obj delete} -label [_ tlf-assignments.abgabe_cancel]
+    Action do_rating -next_state submitted -label [_ tlf-assignments.abgabe_do_rating] \
+    -proc activate  {obj} {$obj do_rating}
+    Action grade_again -next_state submitted -label [_ tlf-assignments.abgabe_grade_again]
+    Action grade -next_state graded -label [_ tlf-assignments.abgabe_grade] -proc activate {obj} {$obj grading_done}
+    Action dograding -next_state grade_state -label [_ tlf-assignments.abgabe_dograding]
+ State submitted -in_role admin {
+         -actions dograding
+    } -form_loader {abgabe_submitted}
+    State graded -in_role admin {
+        -actions {grade_again}
+    } -form_loader {abgabe_graded}
+  State rate -actions {do_rating} -form_loader rating_form
+  State grade_state -in_role admin {
+    -actions grade
+    } -form_loader abgabe_grade
+  }
+}
+
+
+######################################################
+# SubmissionType=Textarea
+######################################################
+Class create SubmissionType=textarea -superclass GenericSubmissionType -parameter {}
+SubmissionType=textarea set allow_download 1
+SubmissionType=textarea set rating_needed 0
+SubmissionType=textarea set allow_resub 1
+SubmissionType=textarea set allow_regrade 1
+SubmissionType=textarea set allowQuickGrade 1
+SubmissionType=textarea proc asOption {} {
+    return {{#tlf-assignments.textex#} {textarea}}
+}
+
+SubmissionType=textarea proc elegible_types {} {
+    return [list "alle" "einzelne" "gruppe"]
+}
+
+SubmissionType=textarea instproc form_info {obj ast} {
+    set subm "
+   @answer@
+   "
+    set form_info_final "
+    <div class=\"form-help-text\">
+    <img width=\"12\" height=\"9\" border=\"0\" style=\"margin-right: 5px\" title=\"Help text\" src=\"/shared/images/info.gif\">
+    [_ tlf-assignments.abgabe_help]</div>"
+    set fc "
+     {answer:richtext,disabled,label=#tlf-assignments.subm#}
+    "
+
+    return [list subm $subm form_info_final $form_info_final fc $fc]
+}
+
+SubmissionType=textarea instproc submission_form_html {obj ast} {
+    set ff "@answer@"
+
+    #append html [$obj collect_submissions]
+    #append html "<div class='submission-title'>Aktuelle Abgabe</div>"
+    set stud [$obj get_property -name creator_id]
+      if {[$ast get_property -name groups] ne ""} {
+                    set group_id [$obj get_property -name group_id]
+            if {[set sd [$obj get_property -name submission_date]] ne ""} {
+                append html "<div class='submission-title'>[_ tlf-assignments.cur_sub] [clock format $sd -format {%d.%m.%Y %H:%M}]</div>"
+            } else {
+               append html "<div class='submission-title'>[_ tlf-assignments.cur_sub]</div>"
+            }
+            set gname [::xo::dc get_value group_name "select group_name from groups where group_id = :group_id" "namenlos"]
+            set uname [::tlf_cassignments::get_user_name -user_id $stud]
+            append html "<div class='submitter'>$uname "
+            if {[permission::permission_p -object_id [$obj set package_id] -privilege "admin"]} {
+                append html "([_ tlf-assignments.group] <a href='groupmgr?a=view_detail&id=$group_id&return_url=[::xo::cc set url]'>$gname</a>)</div>"
+            } else {
+                append html "([_ tlf-assignments.group] $gname)</div>"
+            }
+            return [list html $html ff $ff]
+        }
+
+
+    if {[set sd [$obj get_property -name submission_date]] ne ""} {
+        append html "<div class='submission-title'>[_ tlf-assignments.cur_sub] [clock format $sd -format {%d.%m.%Y %H:%M}]</div>"
+    } else {
+       append html "<div class='submission-title'>[_ tlf-assignments.cur_sub]</div>"
+    }
+    set uname [::tlf_cassignments::get_user_name -user_id $stud]
+    append html "<div class='submitter'>$uname</div>"
+
+    return [list html $html ff $ff]
+}
+
+SubmissionType=textarea instproc render_preview {{-view_only 0} submission} {
+    if {$view_only} {
+        set abgabe "<a href='[$submission pretty_link]?view_method=view'>[_ tlf-assignments.details]</a>"
+    } else {
+        set abgabe "<a href='[$submission pretty_link]'>[_ tlf-assignments.details]</a>"
+    }
+    # bugfix #17043: convert submission-text to text in order to avoid broken listings
+    append abgabe "
+     <p class='percent85'>[_ tlf-assignments.subm_ans]: [string range [ad_convert_to_text [$submission get_property -name answer]] 0 500] <br>"
+     if {[string length [$submission get_property -name answer]] > 500} {
+        append abgabe "(...)"
+      }
+    return $abgabe
+}
+
+SubmissionType=textarea instproc grading_form {obj} {
+        set gradehtml ""
+        set grade_fc ""
+    if {[::xo::cc role=admin -user_id [::xo::cc user_id] -package_id [$obj package_id]]} {
+            set gradehtml "
+            <div class='submission-title'>[_ tlf-assignments.grading]</div>
+            @supervisorcomment@
+            @grade@
+            @superfile@
+            "
+            append grade_fc "
+            {answer:richtext,disabled,label=#tlf-assignments.subm_ans#}
+            {superfile:pretty_file,label=#tlf-assignments.file_upload#,size=10}
+            {supervisorcomment:textarea,label=#tlf-assignments.supercomment#}
+            "
+        }
+
+    return [list form $gradehtml ff $grade_fc]
+}
+
+SubmissionType=textarea instproc graded_form_html {obj ast} {
+    set link "@answer@"
+    set ff "
+    {answer:richtext,disabled,label=#tlf-assignments.subm_ans#}
+    {comment:label,label=}
+    {supervisorcomment:label,label=}"
+    return [list link $link ff $ff]
+}
+
+::xo::library source_dependent
+#
+# Local variables:
+#    mode: tcl
+#    tcl-indent-level: 4
+#    indent-tabs-mode: nil
+# End:
Index: openacs-4/packages/tlf-assignments/tcl/tlf-assignments-wf-assignment-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/tcl/tlf-assignments-wf-assignment-procs.tcl,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/tcl/tlf-assignments-wf-assignment-procs.tcl	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,378 @@
+##::xo::db::require package xowf
+::xo::library require -package xowf xowf-procs
+
+
+namespace eval ::xowf {
+
+    Class create ::xowf::AssignmentState
+    ##########################################
+    # State initial
+    ##########################################
+    AssignmentState instproc create_assign_initial_loader {name} {
+        #create a new assignment, or edit an existing one (with fewer options)
+        ::xo::Page requireJS "/resources/tlf-assignments/tlf-assignment.js"
+        ::xo::Page requireCSS "/resources/tlf-assignments/tlf-assignments.css"
+        set obj ${:object}
+        set memberhtml ""
+        set member_names ""
+        set group_names ""
+        set package_id [${:object} set package_id]
+        set bearb [${:object} get_property -name bearbeiter -default ""]
+        foreach gr [${:object} get_property -name groups -default ""] {
+            append group_names "<a href='groupmgr?a=view_detail&id=$gr'>\
+            [::xo::dc get_value group_name {select group_name from groups where group_id = :gr}]</a>
+            <br>"
+        }
+        foreach member $bearb {
+            append member_names [::tlf_cassignments::get_user_name -user_id $member]<br>
+        }
+        if {$group_names ne ""} {
+            set memberhtml "<div class='form-item-wrapper'>
+                                <div class='form-label'>[_ tlf-assignments.assigned_members]:</div>
+                                <div class='form-widget'>$group_names</div>
+                            </div>"
+        } elseif {$member_names ne ""} {
+            set memberhtml "<div class='form-item-wrapper'>
+                                <div class='form-label'>[_ tlf-assignments.assigned_members]:</div>
+                                <div class='form-widget'>$member_names</div>
+                            </div>"
+        }
+        set exam_vis [expr {[${:object} get_property -name exercise_form] eq "exam" ? "" : "display:none"}]
+        set ot_vis [expr {[${:object} get_property -name exercise_form] eq "ot" ? "" : "display:none"}]
+        #todo: avoid querying db two times about calc_submissions
+        array set subm [$obj calc_submissions "submitted"]
+        set is_not_graded [expr {$subm(graded) eq 0}]
+        set disableme [expr {!$is_not_graded && [$obj set state] ne "initial" ? "disabled" : ""}]
+        
+        #generate formdef depending on state
+        set formdef "<form>"
+        if {[$obj set state] eq "initial"} {
+            append formdef "
+            <div class='table-wizard'>
+                <div class='tr'>
+                <div class='td active'>[_ tlf-assignments.create_1]</div>
+                <div class='td grey'>[_ tlf-assignments.create_2]</div>
+                </div>
+            </div>"
+        }
+        append formdef "
+            @_title@
+            @text@
+            @ss1@
+            [${:object} multiple_files ss]
+            @_description@
+        "
+        if {[$obj set state] eq "initial"} {
+            append formdef "
+                <hr>
+                @exercise_form@
+                <div style='$ot_vis' id='ot_conditional'>@opentext_sample@</div>
+            "
+        } elseif {[$obj get_property -name exercise_form] eq "exam"} {
+            append formdef "
+            @examvis@
+            $updatelink
+            "
+        }
+        set release_date_vis [expr {[$obj get_property -name beurteilung] eq "date" ? "" : "display:none;"}]
+        append formdef "
+             <hr>
+              @time_from@
+              @time_to@
+              @verbergen@
+            <hr>
+            @beurteilung@<div style='$release_date_vis' id='date_conditional'>@release_date@</div>
+        "
+        if {$disableme eq ""} {
+            append formdef "
+                <p>@modus@</p>
+                <div style='[expr {[$obj get_property -name points] eq {} ? {display:none;} : {}}]' id='grade_conditional'>@points@</div>
+            "
+            }
+        append formdef "
+            $memberhtml
+        "
+        
+        if {[$obj set state] eq "initial"} {
+	    set nonce [security::csp::nonce]
+            append formdef "
+                <script nonce='$nonce'>
+                    var beurt = \$('F.[${:object} set name].beurteilung').value;
+                    if (beurt == 'date') {\$('date_conditional').style.display = '';}
+                    var modus = \$('F.[${:object} set name].modus').value;
+                    if (modus == 'points') {\$('grade_conditional').style.display = '';}
+                    var eform = \$('F.[${:object} set name].exercise_form').value;
+                    if (eform == 'ot') {\$('ot_conditional').style.display = '';}
+                    if (eform == 'exam') {\$('exam_conditional').style.display = '';}
+                    //do not allow empty points in assignments to be graded with points
+                    \$(document).ready(function() {
+                        \$('.form-button button').click(function(e) {
+                            if ( \$(\"select\[name='modus'\]\").val() == 'points' ) {
+                                if (\$(\"input\[name='points'\]\").val() == '') {
+                                    alert('#tlf-assignments.maxpoints_missing#');
+                                    return false;
+                                }
+                            }
+                            return true;
+                        });
+                    });
+                </script>
+            "
+        }
+        append formdef "</form> "
+
+        # generate options for the submission types
+        set submission_type_options [list]
+        foreach sub_type [list ::SubmissionType=file ::SubmissionType=ot ::SubmissionType=textarea] {
+             set option [$sub_type asOption]
+             if {$option ne ""} {
+                lappend submission_type_options [$sub_type asOption]
+             }
+        }
+
+        #generate options for grading types
+        set grading_type_options [list]
+        foreach sub_type [GenericGradingType info subclass] {
+            set option [$sub_type asOption]
+            if {$option ne ""} {
+                lappend grading_type_options [$sub_type asOption]
+            }
+        }
+        
+        set statusform [::xowiki::Form new -childof [self] -name en:initial_loader \
+            -form $formdef \
+            -anon_instances t \
+            -form_constraints [subst {
+                {_title:text,label=#tlf-assignments.title#,required=yes}
+                {_description:label=#tlf-assignments.add_inf#,\
+                    help_text=#tlf-assignments.desc_help#}
+                {text:richtext,\
+                    editor=ckeditor4,\
+		    label=#tlf-assignments.text#,\
+		    customConfig=/resources/tlf-assignments/ck_config_minimal.js,
+                    toolbar=Minimal}
+                ss1:pretty_file,label=#tlf-assignments.attachment#
+                ss2:pretty_file,label=
+                ss3:pretty_file,label=
+                ss4:pretty_file,label=
+                ss5:pretty_file,label=
+                state:label,label=Status,hidden
+                {points:numeric,\
+                    format=%.2f,\
+                    size=3,\
+                    label=max. #tlf-assignments.points#,\
+                    validator=numeric,\
+                    locale=[::xo::cc set locale]}
+                {_page_order:hidden}
+                _nls_language:hidden
+                _creator:hidden
+                release_date:date_with_widget,format=DD_MONTH_YYYY_HH24_MI,label=#tlf-assignments.rel_date#
+                _name:hidden
+                {exercise_form:conditional_ff,label=#tlf-assignments.type#,
+                    options=$submission_type_options,\
+                        onselection=ot.exam,\
+                        condition=ot_conditional.exam_conditional,\
+                        default=file,
+                        required=yes}
+                {examvis:select,
+                    options={#tlf-assignments.instant_share# sofort}\
+                    {{#tlf-assignments.time_share#} timeup}\
+                    {#tlf-assignments.no_share# never},
+                    default=timeup,
+                    required=yes,
+                    label=#tlf-assignments.sample_sol#}
+                {beurteilung:conditional_ff,label=#tlf-assignments.grade_release#,\
+                    options={{#tlf-assignments.rel_sofort#} sofort} \
+                            {#tlf-assignments.date# date} \
+                            {{#tlf-assignments.individual#} individual} \
+                            {{#tlf-assignments.none#} keine},\
+                        onselection=date,\
+                        condition=date_conditional,\
+                        default=sofort, \
+                        required=yes}
+                {modus:conditional_ff,label=#tlf-assignments.grade_mode#,\
+                    options=$grading_type_options,\
+                    onselection=points,\
+                    condition=grade_conditional,\
+                    default=note, \
+                    required=yes}
+                {verbergen:checkbox,label=#tlf-assignments.verbergen#,\
+                    options={{#tlf-assignments.nein#} 1},\
+                    default=0}
+                "time_from:date_with_widget,format=DD_MONTH_YYYY_HH24_MI,\
+                    label=#tlf-assignments.available-from#"
+                "time_to:date_with_widget,format=DD_MONTH_YYYY_HH24_MI,\
+                    validator=end_time,\
+                    label=#tlf-assignments.available-until#"
+                {opentext_sample:opentext_compound,\
+                    label=Antworten,\
+                    validator=valid,\
+                    help_text=#tlf-assignments.help_ot#}
+        }]]
+        return $statusform
+    }
+
+    ##########################################
+    # State editing
+    ##########################################    
+    AssignmentState instproc create_assign_published {name} {
+        #assignment has been published
+        #allow editing without changing the state of the item
+        set package_id [::xo::cc set package_id]
+        
+        #don't allow students to see instance attributes by guessing m edit
+        if {![permission::permission_p -no_login \
+             -party_id [::xo::cc user_id] \
+             -object_id [${:object} item_id] \
+             -privilege admin]} {
+                set statusform [::xowiki::Form new -childof [self] -name en:initial_loader \
+                -form "
+                    <form> 
+                    [${:object} render_angabe]
+                    </form> 
+                " \
+                -anon_instances t \
+                -form_constraints [subst {
+                {_title:hidden}
+                {_description:hidden}
+                _page_order:hidden _nls_language:hidden
+                _creator:hidden
+                _name:hidden
+                }] \
+                ]
+            return $statusform
+            }
+        
+        if {[::xo::cc query_parameter m] eq "edit"} {
+            return [:create_assign_initial_loader $name]
+        }
+        set html "[${:object} render_angabe_full]"
+        append html "<a href='[${:object} pretty_link]?m=submit' class='button'>[_ tlf-assignments.stud_view]</a>"
+        #::xo::Page set_property doc menubar [$package_id MenuBar -context_item ${:object}]
+
+        set statusform [::xowiki::Form new -childof [self] -name en:initial_loader \
+            -form "
+                <form> 
+                    $html
+                </form> 
+            " \
+            -anon_instances t \
+            -form_constraints [subst {
+                {_title:hidden}
+                {_description:hidden}
+                _page_order:hidden _nls_language:hidden
+                _creator:hidden
+                _name:hidden
+            }] \
+        ]
+        return $statusform 
+    }    
+
+    ##########################################
+    # State assign
+    ##########################################
+    AssignmentState instproc create_assign_studentmgr {name} {
+            #form_loader for assigning students/group to an exercise
+            #this is step 2 in exercise creation
+            #user can either select all community members, single members or groups
+            ::xo::Page requireJS "/resources/tlf-assignments/tlf-assignment.js"
+            ::xo::Page requireCSS "/resources/tlf-assignments/tlf-assignments.css"
+            set ef [${:object} get_property -name exercise_form]
+            #retrieve all groups
+            set groups ""
+            set package_id [${:object} set package_id]
+            set applet_key [ast_installer applet_key]
+            ::xo::dc foreach comm "select community_id as comm_id from dotlrn_community_applets
+                where package_id = :package_id and applet_id = (select applet_id from dotlrn_applets
+                where applet_key = :applet_key)" {
+                set gname groupmgr_${comm_id}
+                ::xo::dc foreach gr "select group_id, group_name from groups where description = :gname" {
+                    regsub -all {,} $group_name __COMMA__ group_name
+                    lappend groups [subst {"$group_name" "$group_id"}]
+                }
+            }       
+        
+            #who can edit this exercise?
+            set options ""
+            foreach elegible_type [SubmissionType=$ef elegible_types] {
+                append options [subst {{{#tlf-assignments.${elegible_type}#} {$elegible_type}}\n}]
+            }
+
+            #only one option will be visible, others will be hidden
+            set member_vis [expr {[${:object} get_property -name zuweisen] eq "einzelne" ? "" : "display:none"}]
+            set group_vis [expr {[${:object} get_property -name zuweisen] eq "gruppe" ? "" : "display:none"}]
+            set group_ff "candidate_box_select_jquery,
+                        options=$groups,
+                        label=[_ tlf-assignments.gruppe],
+                        help_text=[_ tlf-assignments.ziehen_help1]"
+            set member_ff "candidate_box_select_jquery,
+                        role=tlf_ast_group_stud,
+                        label=[_ tlf-assignments.einzelne],
+                        help_text=[_ tlf-assignments.ziehen_help2]"
+            if {![info exists comm_id]} {
+                #during automated tests we might not have a community_id
+                set teilnehmer {}
+            } else {
+                set teilnehmer [::xo::role::tlf_ast_group_stud get_members -object_id $comm_id]
+            }
+            #if no groups or members exist, show a placeholder text
+            set placeholder_no_groups "[_ tlf-assignments.empty_groups]"
+            set placeholder_no_members "[_ tlf-assignments.empty_com]"
+            set member_help ""
+            set help_group ""
+            if {$groups eq ""} {
+                set group_ff hidden
+                set help_group $placeholder_no_groups
+            }
+            if {$teilnehmer eq ""} {
+                set member_ff hidden
+                set member_help $placeholder_no_members
+            }
+	    set nonce [security::csp::nonce]
+            set statusform [::xowiki::Form new -childof [self] -name en:initial_loader \
+                -form "
+                    <form>
+                        <div class='table-wizard'>
+                            <div class='tr'>
+                                <div class='td grey'>
+                                   [_ tlf-assignments.create_1]
+                                </div>
+                                <div class='td active'>
+                                    [_ tlf-assignments.create_2]
+                                </div>
+                            </div>
+                        </div>
+                        @zuweisen@
+                        <div id='member_conditional' style='$member_vis'>@bearbeiter@<p>$member_help</p></div>
+                        <div id='group_conditional' style='$group_vis'>@groups@ <p>$help_group</p></div>
+                        <script nonce='$nonce'>
+                            //if user reloads the page, make sure the correct conditional is visible
+                            var zuweisen = \$('F.[${:object} set name].zuweisen').value;
+                            if (zuweisen == 'gruppe') {\$('group_conditional').style.display = '';}
+                            if (zuweisen == 'einzelne') {\$('member_conditional').style.display = '';}
+                        </script>
+                    </form>
+                " \
+                -anon_instances t \
+                -form_constraints [subst {
+                    {zuweisen:conditional_ff,required=1,label=#tlf-assignments.zuweisen_help#,
+                        options=$options,
+                        default=alle,
+                        onselection=einzelne.gruppe,
+                        condition=member_conditional.group_conditional,
+                        validator=members_valid
+                    }
+                    {bearbeiter:$member_ff}
+                    {groups:$group_ff}
+                    onselection=ot.exam,
+                    condition=ot_conditional.exam_conditional,
+                    default=file
+                    @cr_fields:hidden
+                }] ;#end subst
+          ] ;#end statusform
+          return $statusform
+    }    
+    
+
+}
+::xo::library source_dependent
Index: openacs-4/packages/tlf-assignments/tcl/tlf-assignments-wf-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/tcl/tlf-assignments-wf-procs.tcl,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/tcl/tlf-assignments-wf-procs.tcl	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,1806 @@
+ad_library {
+    tlf-assignment workflow-related methods.  For workflows see
+    www/resources/prototypes/create-assignment.wf
+
+    @creation-date 2011-02-28
+    @author Markus Moser
+}
+
+##::xo::db::require package xowf
+::xo::library require -package xowf xowf-procs
+
+namespace eval ::xowf {
+
+    Class create AssignmentCoreWFprocs
+
+    AssignmentCoreWFprocs instproc www-submit {} {
+        #create a formpage = group has submitted
+        #init form_page with ia, save ia to hstore
+        #work on assignment object [get id and group]
+        #properties needed: assignment id, group id, score, revisioning
+        set user_id [::xo::cc set user_id]
+        set package_id ${:package_id}
+        set amiadmin [permission::permission_p \
+            -object_id $package_id \
+            -privilege "admin" \
+            -party_id $user_id \
+            -no_cache]
+        set group [:checkgroup $user_id]
+        set query_user_id [::xo::cc query_parameter user_id 0]
+        set foreign_user [expr { $query_user_id ne 0 && $amiadmin ? $query_user_id : 0 }]
+        if {$foreign_user ne 0} {
+            set group_id $foreign_user
+            set amiadmin 0
+        } else {
+            set group_id [lindex $group 1]
+        }
+        set name abgabe_${:item_id}__${group_id}
+        set exists_p [$package_id lookup -name $name]
+
+        if {$exists_p eq 0} {
+            set template [string trimleft [$package_id resolve_page abgabe-stud.wf method_var] :]
+            set ia [subst {note "" \
+                exercise_form [:get_property -name exercise_form] \
+                assignment_id ${:item_id} \
+                group_id $group_id \
+                creator_id $user_id \
+                graded 0 \
+                amiadmin $amiadmin \
+                foreign_user $foreign_user}]
+            set abgabeseite [::xowiki::FormPage new -noinit \
+              -set instance_attributes $ia \
+              -set package_id $package_id \
+              -set name $name\
+              -set title #tlf-assignments.Submission# \
+              -set page_template $template \
+              -set publish_status ready \
+              -set parent_id [$package_id set folder_id] \
+                -set state initial]
+            $abgabeseite save_new
+            $abgabeseite initialize_loaded_object
+            $abgabeseite destroy
+        }
+
+        set display_members [parameter::get -package_id $package_id -parameter member_display -default 0]
+        set comm_clause [expr {$display_members ? "-community_id [dotlrn_community::get_community_id]" : "" }]
+        #view
+        $package_id returnredirect $name
+    }
+
+    AssignmentCoreWFprocs instproc -deprecated submit {args} {
+        ad_log warning "????? - who is calling me?"
+        :www-submit {*}$args
+    }
+
+    AssignmentCoreWFprocs instproc www-foreign_submit {} {
+        set foreign_user [::xo::cc query_parameter user_id]
+        if {$foreign_user ne "" } {
+            :set_property -new 1 foreign_user $foreign_user
+            set s [:find_slot instance_attributes]
+            :update_attribute_from_slot -revision_id "${:revision_id}" $s ${:instance_attributes}
+            :save_in_hstore
+            my www-edit
+        } else {
+            :www-edit
+        }
+    }
+
+    AssignmentCoreWFprocs instproc -deprecated foreign_submit {args} {
+        ad_log warning "????? - who is calling me?"
+        :www-foreign_submit {*}$args
+    }
+
+    AssignmentCoreWFprocs ad_instproc -private www-bulk_grade {} {
+        Bulk grade all values. This only get called by an ajax call
+        with a redirect callback, so there is no need to redirect or
+        return more than a status code.
+    } {
+        set values [split [ns_queryget values] ,]
+        set package_id ${:package_id}
+        set error 0
+        foreach {submission grade} $values {
+            set sub_id [::xo::db::CrClass get_instance_from_db -item_id $submission]
+            set ast [$sub_id get_property -name assignment_id]
+            GradingType=[$ast get_property -name modus] create [self]::gtype
+            set maxpoints [$ast get_property -name points]
+            set is_valid [[self]::gtype validateInput [list $grade $maxpoints]]
+            if {$is_valid} {
+                set creator [$sub_id get_property -name creator_id]
+                $sub_id set_property -new 1 graded 1
+                $sub_id set_property -new 1 grade $grade
+                $sub_id set_property -new 1 grading_date [clock seconds]
+                $sub_id set_property -new 1 beurteiler [::xo::cc set user_id]
+                $sub_id set state graded
+                $sub_id save -modifying_user $creator
+            } else {
+                #util_user_message -message "Wert $grade ist ungültig."
+                set error 1
+            }
+        }
+        set display_members [parameter::get -package_id $package_id -parameter member_display -default 0]
+        set comm_clause [expr {$display_members ? "-community_id [dotlrn_community::get_community_id]" : "" }]
+        if {$error} {
+            ad_returnredirect ".?view=${:item_id}&type=submitted"
+            ad_script_abort
+        #ns_return 200 text/plain "values=$values names=$names"
+        }
+        ns_return 200 text/plain ""
+        ad_script_abort
+    }
+
+    AssignmentCoreWFprocs instproc -deprecated bulk_grade {args} {
+        ad_log warning "????? - who is calling me?"
+        :www-bulk_grade {*}$args
+    }
+
+    AssignmentCoreWFprocs instproc www-bulk_download {} {
+        package req nx::zip
+        set item_ids [ns_querygetall item_id]
+        #gather all submissions
+        if {[llength $item_ids] == 0} {
+            :msg "nothing selected"
+            ${:package_id} returnredirect [:query_parameter "return_url"]
+            return 0
+        }
+        set z [::nx::zip::Archive new]
+
+        set package_id ${:package_id}
+        set parent_id [$package_id set folder_id]
+        set page_template [string trimleft [$package_id resolve_page abgabe-stud.wf method_var] :]
+        set item_id ${:item_id}
+        set allsubmissions [::xo::dc list_of_lists get_submissions {
+            select item_id as sub_item_id,
+                   hkey->'group_id' as uid,
+                   hkey->'answer' as answer,
+                   hkey->'solution' as solution,
+                   hkey->'comment' as comment,
+                   hkey->'proto_solution.pdf' as proto_solution_pdf,
+                   (select title from cr_revisions
+                    where revision_id = (select live_revision
+                                         from cr_items
+                                         where item_id = item.item_id)) as sub_title,
+                   (select creation_date from acs_objects
+                    where object_id = item.item_id) as creation_date
+            from xowiki_form_instance_item_index item
+            where parent_id = :parent_id
+              and page_template = :page_template
+              and package_id = :package_id
+              and state <> 'initial'
+              and publish_status = 'ready'
+              and hkey->'assignment_id' = :item_id
+              and item_id = ANY(cast(string_to_array(:item_ids, ' ') as integer[]))
+            order by creation_date desc
+        }]
+
+        if {[llength $allsubmissions] == 0} {
+            util_user_message -message "[_ tlf-assignments.export_nothing]"
+            ad_returnredirect [$package_id pretty_link -parent_id [$package_id folder_id] index]
+            ad_script_abort
+        }
+        set root_dir [ns_mktemp /tmp/hwnXXXXXX]
+        # create temporary directory
+        file mkdir $root_dir
+
+        foreach sub $allsubmissions {
+            lassign $sub sub_item_id uid answer solution comment proto_solution_pdf sub_title creation_date
+
+            set username [string trimleft [::xo::dc get_value uname "select last_name ||'_'|| first_names ||'_'|| username from acs_users_all where user_id = :uid"  0] h]
+            if {$username eq 0} {
+                set username [::xo::dc get_value groupname "select group_name from groups where group_id = :uid" "unbekannt"]
+            }
+            # fmoedrit/hotfix: ignore files without live_revision (corrupt items!)
+            foreach item [::xo::dc list itemlist {
+                select item_id from cr_items
+                where parent_id = :sub_item_id
+                  and content_type = '::xowiki::File'
+                  and live_revision is not null
+            }] {
+                ::xo::db::CrClass get_instance_from_db -item_id $item
+                set title [$item set title]
+                if {[string length $title] > 160 } {
+                    if {![regexp {\.([a-zA-z0-9]{3,4})$} $title extension match]} {
+                    set extension ""
+                    }
+                    set title "[string range $title 0 160]$extension"
+                }
+                set filename ${username}_$title
+                regsub -all {\\|\/|\:|\*|\?|\"|<|>|\|} $filename "" filename
+                $z addFile  [cr_fs_path][$item set text] $filename
+            }
+            if {$comment ne ""} {
+                $z addString $comment ${username}_comment.txt
+            }
+            #subcase: answer fields
+            if {$answer ne ""} {
+                set filename ${username}_${:title}.txt
+                regsub -all {\\|\/|\:|\*|\?|\"|<|>|\|} $filename "" filename
+                $z addString $answer $filename
+            }
+        }
+        #create a zip file and clean up
+        regsub -all {\\|\/|\:|\*|\?|\"|<|>|\|} ${:title} "" cleantitle
+        $z ns_returnZipFile $cleantitle.zip
+        $z destroy
+        file delete $root_dir
+        ad_script_abort
+    }
+
+    AssignmentCoreWFprocs instproc -deprecated bulk_download {args} {
+        ad_log warning "????? - who is calling me?"
+        :www-bulk_download {*}$args
+    }
+
+    AssignmentCoreWFprocs ad_instproc -private www-render_exercise {} {
+        Render this exercise. Interface for starting a submission.
+
+        @return HTML
+    } {
+        set group [lindex [:checkgroup [::xo::cc user_id]] 1]
+        set nf_property_name ${group}_nachfrist
+        set html [:render_angabe]
+        set nf [:get_property -name $nf_property_name]
+        if {$nf ne ""} {
+            set nf_label [_ tlf-assignments.nachfrist]
+            set nf_date [:germanize_date $nf_property_name]
+            append html "
+            <div class='fristen'>
+                <div class='table'>
+                    <div class='tr'>
+                        <div class='td'>${nf_label}:&nbsp;</div>
+                        <div class='td'> ${nf_date}</div>
+                    </div>
+                </div>
+            </div>"
+        }
+
+        if {[:check_submittable] ne ""} {
+            set submit_url [export_vars -base [:pretty_link] {{m submit}}]
+            set submit_label [_ tlf-assignments.create_instance]
+            append html "<br><a class='button' href='${submit_url}'>${submit_label}</a>"
+        }
+        :www-view $html
+    }
+
+    AssignmentCoreWFprocs instproc -deprecated render_exercise {args} {
+        ad_log warning "????? who is calling me?"
+        :www-render_exercise {*}$args
+    }
+
+    AssignmentCoreWFprocs instproc www-write_nf {} {
+        set year  [ns_queryget year]
+        set month [ns_queryget month]
+        set op    [ns_queryget op]
+        set day   [ns_queryget day]
+        set hour  [ns_queryget hour]
+        set min   [ns_queryget minute]
+
+        ns_log notice "write_nf called with $year-$month-$day ${hour}:${min}:00"
+        if {$op eq "set_nf"} {
+            set time_to [:get_property -name time_to]
+            if {[catch {set ticks [clock scan "$year-$month-$day ${hour}:${min}:00"]}]} {
+                set ticks 0 ;# we assume that the validator flags these values
+            }
+            if {[clock scan $time_to] > $ticks} {
+                ad_returnredirect [ns_queryget return_url]
+                util_user_message -message "[_ tlf-assignments.nachfrist_ahead]"
+                ad_script_abort
+            }
+            set time [clock format $ticks -format "%Y-%m-%d %T"]
+            set community_id [dotlrn_community::get_community_id_from_url -url [${:package_id} package_url]]
+            set community_pretty_name [dotlrn_community::get_community_name $community_id]
+            #build a list of affected users
+            set userlist [list]
+            foreach user_id [ns_querygetall item_id] {
+                :set_property -new 1 ${user_id}_nachfrist $time
+                if {[acs_object_type $user_id] eq "group"} {
+                    # append every member of this group to the list
+                    lappend userlist {*}[group::get_members -group_id $user_id -type user]
+                } else {
+                    lappend userlist $user_id
+                }
+            }
+
+            set system_name [ad_system_name]
+            set system_owner [ad_system_owner]
+            set system_url [ad_url]
+
+            foreach user $userlist {
+                set link [:pretty_link -absolute 1]
+                set subject "$community_pretty_name Nachfrist bei einer Aufgabe / Assignment extension"
+                set body "\[please scroll down for english version\]<br><br>
+                <b>Benachrichtigung: Neue Nachfrist wurde gesetzt</b> <br>
+                Lehrveranstaltung: $community_pretty_name<br>
+                Aufgabe: ${:title}<br>
+                Ende der Nachfrist: $time <br>
+              <br>Die Aufgabe finden Sie unter <a href='$link'>URL</a><br>
+              <hr>
+              <br>
+              Bei Fragen steht Ihnen das $system_name-Team unter $system_owner zur Verfügung.
+              <br><br>
+              <b>Notification: New extension has been set</b><br>
+              Course: $community_pretty_name<br>
+              Assignment: ${:title}<br>
+              End of extension: $time<br>
+              <br>To view the assignment, click <a href='$link'>URL</a><br>
+              <hr>
+              <br>
+              The $system_name team will be happy to answer your questions ($system_owner).
+              "
+                set email [acs_user::get -user_id $user \
+                               -element email]
+                acs_mail_lite::send \
+                    -to_addr   $email \
+                    -from_addr $system_owner \
+                    -subject   $subject \
+                    -body      $body \
+                    -mime_type text/html
+            }
+        } elseif {$op eq "del_nf"} {
+            set user_id [ns_querygetall item_id]
+            #update todos with deadline extension
+            if {[acs_object_type $user_id] eq "group"} {
+                set user_id [group::get_members \
+                -group_id $user_id -type user]
+            }
+            foreach user_id [ns_querygetall item_id] {
+                :set_property -new 1 ${user_id}_nachfrist ""
+            }
+        } elseif {$op eq "set_resub"} {
+            #set_resub is called on submission instance
+            if {[catch {set ticks [clock scan "$year-$month-$day ${hour}:${min}:00"]}]} {
+                set ticks 0
+            }
+            foreach item_id [ns_querygetall item_id] {
+                ::xo::db::CrClass get_instance_from_db -item_id $item_id
+                ns_log notice "setting resub for [$item_id set name] [$item_id set title]"
+                set time [clock format $ticks -format "%Y-%m-%d %T"]
+                $item_id set_property -new 1 resubmissionff $time
+                $item_id save -modifying_user [$item_id set creation_user]
+                set assignment [$item_id property assignment_id]
+                ::xo::db::CrClass get_instance_from_db -item_id $assignment
+                set sub_user [$item_id property group_id]
+                if {[acs_object_type $sub_user] eq "group"} {
+                    set user_id [group::get_members -group_id $sub_user -type user]
+                } else {
+                    set user_id $sub_user
+                }
+            }
+        }
+        :save
+        ad_returnredirect [ns_queryget return_url]
+        ad_script_abort
+    }
+
+    AssignmentCoreWFprocs instproc -deprecated write_nf {args} {
+        ad_log warning "????? who is calling me?"
+        :www-write_nf {*}$args
+    }
+
+    AssignmentCoreWFprocs instproc get_ot_answers {
+        {-all 0}
+    } {
+        #set ot_mode 1 ;#use only sample answers
+        set ot_mode [::parameter::get -parameter ot_mode -package_id ${:package_id} -default 0]
+        if {$all} {
+            set extra_clause ""
+        } else {
+            set extra_clause [expr {$ot_mode eq 1 ? "and (hkey->'is_sample')::boolean = 1::boolean" : ""}]
+        }
+        set ast [:get_property -name assignment_id]
+        if {$all} {
+            set distance_clause ""
+        } else {
+            set distance_clause "and ((hkey->'ldist')::integer < 50 or (hkey->'ldist')::integer is null) "
+        }
+        set template [string trimleft [${:package_id} resolve_page abgabe-stud.wf method_var] :]
+        set form_fields [::xowiki::FormPage get_table_form_fields \
+            -base_item $template \
+            -field_names answer,qvar,evar,bvar,revision_id,ratings \
+            -form_constraints " "]
+        set items [[::xowiki::FormPage get_form_entries -base_item_ids $template \
+            -package_id ${:package_id} \
+            -form_fields $form_fields \
+            -publish_status "all" \
+            -always_queried_attributes {_revision_id _item_id _page_id _object_id _creator} \
+            -initialize true \
+            -extra_where_clause "
+                and state in ('graded', 'submitted')
+                and (hkey->'assignment_id')::text = '$ast'
+                and (hkey->'exercise_form')::text = 'ot'
+                and ( hkey->'amiadmin' is null or cast(hkey->'amiadmin' as boolean) is false )
+                $extra_clause $distance_clause" \
+            -orderby "coalesce(length((hkey->'ratings')::text),0::integer) asc"
+            ] children]
+
+        #shuffle the results
+        #foreach item $items {::xo::cc msg [$item get_property -name answer]; ::xo::cc msg [$item get_property -name ratings]}
+        for {set i 1} {$i <[llength $items]} {incr i} {
+            set j [expr {int(rand()*[llength $items])}]
+            set tmp [lindex $items $i]
+            lset items $i [lindex $items $j]
+            lset items $j $tmp
+        }
+        #my msg "xolrn_cf: got [llength $items]"
+        return $items
+    }
+
+    AssignmentCoreWFprocs ad_instproc -private checkgroup {
+        user_id
+    } {
+        Is the user a member of a group assigned to this instance?
+    } {
+        set isgroup [:get_property -name groups -default ""]
+        set islimited [:get_property -name bearbeiter -default ""]
+        if {$isgroup ne ""} {
+            foreach group $isgroup {
+                set is_member [group::member_p -user_id $user_id -group_id $group -cascade]
+                if {$is_member} {
+                    return [list 1 $group]
+                }
+            }
+            return [list 0 0]
+        } elseif {$islimited ne ""} {
+            if {$user_id in [:get_property -name bearbeiter]} {
+                return [list 1 $user_id]
+            } else {
+                return [list 0 0]
+            }
+        } else {
+            return [list 0 $user_id]
+        }
+    }
+
+    AssignmentCoreWFprocs ad_instproc -private dosubmit {} {
+        Check if another user has opened this at the same time and
+        submitted before me.
+    } {
+        set ctx [::xowf::Context require ${:item_id}]
+        if { [$ctx get_current_state] ne "initial"} {
+            :msg "[_ tlf-assignments.already_submitted]"
+            [${ctx}::submit] set next_state initial
+        } else {
+            if {[:get_property -name exercise_form] ne "ot"} {
+                util_user_message -message "[_ tlf-assignments.submitted_success]"
+            }
+            SubmissionType=[:get_property -name exercise_form] [self]::stype
+            [self]::stype special_submit_action ${:item_id}
+            set ast [:get_property -name assignment_id]
+            set uname [::xo::cc user_id]
+            ::xo::db::CrClass get_instance_from_db -item_id $ast
+            :set_property -new 1 creator_id $uname
+            :set_property -new 1 submission_date [clock seconds]
+            #set todo
+            set group [:property group_id]
+            if {[acs_object_type $group] eq "group"} {
+                set uname [group::get_members -group_id $group -type user]
+            }
+            #foreign submits!
+            set foreign_user [:get_property -name foreign_user]
+            if {$foreign_user ni {"" 0}} {
+                set uname $foreign_user
+            }
+        }
+    }
+
+    AssignmentCoreWFprocs instproc check_submittable {
+        {admin_priv "0"}
+    } {
+        if {
+            ([::xo::cc query_parameter user_id 0] ne 0 || [:get_property -name foreign_user] ne "")
+            &&
+            [::xo::cc permission -object_id [::xo::cc set package_id] -privilege admin -party_id [::xo::cc user_id]]
+        } {
+            return "submit"
+        }
+
+        set exercise_form [:get_property -name exercise_form]
+        set auto_handin [expr {[SubmissionType=${exercise_form} auto_handin] eq 1}]
+        if {[SubmissionType=${exercise_form} allow_draft] eq 1} {
+            set actions {submit upload}
+        } else {
+            set actions {submit}
+        }
+        if {
+            $admin_priv
+            &&
+            [::xo::cc permission -object_id [::xo::cc set package_id] -privilege admin -party_id [::xo::cc user_id]]
+        } {
+            return $actions
+        }
+        if { [set resub [:get_property -name resubmissionff]] ne ""} {
+            if {[clock seconds] < [clock scan $resub]} {
+                return $actions
+            } else {
+                return ""
+            }
+        }
+        set ast [:get_property -name assignment_id]
+        if {$ast eq ""} {
+            set ast ${:item_id}
+        }
+        ::xo::db::CrClass get_instance_from_db -item_id $ast
+        set id [lindex [$ast checkgroup [::xo::cc user_id]] 1]
+        if {
+            $id == 0
+            &&
+            ![::xo::cc permission -object_id [::xo::cc set package_id] -privilege admin -party_id [::xo::cc user_id]]
+        } {
+            return ""
+        }
+        set nf [$ast get_property -name ${id}_nachfrist]
+        if {$nf ne ""} {
+            if {[clock scan $nf] > [clock seconds]} {
+                if {$auto_handin} {
+                    return " "
+                } else {
+                    return $actions
+                }
+            } else {
+                return ""
+            }
+        }
+
+        set ast_start [expr {[clock scan [$ast get_property -name time_from]] < [clock seconds]}]
+        set ast_end [expr {[clock seconds] > [clock scan [$ast get_property -name time_to]]}]
+        set is_enabled [expr {$ast_start && !$ast_end}]
+        if {!$is_enabled} {
+            return ""
+        } elseif {$auto_handin} {
+            return " "
+        } else {
+            return $actions
+        }
+    }
+
+
+    AssignmentCoreWFprocs instproc check_grade_vis {} {
+        set package_id ${:package_id}
+        switch [:get_property -name beurteilung] {
+            sofort {
+                return 1
+            }
+            date {
+            #to be tested
+                set cdate [:get_property -name release_date]
+                return [expr {[clock seconds] > [clock scan $cdate]}]
+            }
+            keine {
+                return 0
+            }
+            korrektur {
+                set cdate [:get_property -name time_to]
+                array set subm [:calc_submissions]
+                if {$subm(submitted) eq 0
+                    && $subm(graded) > 0
+                    && [clock seconds] > [clock scan $cdate]
+                } {
+                    array unset subm
+                    return 1
+                }
+                return 0
+                array unset subm
+            }
+            individual {
+                return [expr {[:get_property -name grade_released] ne ""}]
+            }
+        }
+    }
+
+    AssignmentCoreWFprocs instproc saveZB {} {
+        #placeholder
+    }
+
+    AssignmentCoreWFprocs instproc update_cal {} {
+        #placeholder
+    }
+
+    AssignmentCoreWFprocs instproc do_rating {} {
+        set item_ids [:get_property -name fetched_item_ids]
+        foreach id $item_ids {
+            catch {lappend items [::xo::db::CrClass get_instance_from_db -item_id $id]}
+        }
+        :calc_basevalues_ot $items
+        :set_property -new 1 creator_id [::xo::cc user_id]
+        set display_members [parameter::get -package_id ${:package_id} -parameter member_display -default 0]
+        set comm_clause [expr {$display_members ? "-community_id [dotlrn_community::get_community_id]" : "" }]
+        util_user_message -message "[_ tlf-assignments.submitted_success]"
+    }
+
+    AssignmentCoreWFprocs instproc upload_done {} {
+         set amiadmin [permission::permission_p -object_id ${:package_id} -privilege "admin"]
+         if {!$amiadmin} {
+            util_user_message -message "[_ tlf-assignments.draft_success]."
+            util_user_message -message "[_ tlf-assignments.draft_not_submitted_automatically]"
+         }
+    }
+
+    AssignmentCoreWFprocs instproc grading_done {} {
+        SubmissionType=[:get_property -name exercise_form] create [self]::stype
+        [self]::stype post_grading_action ${:item_id}
+        :set_property -new 1 grading_date [clock seconds]
+        :set_property -new 1 beurteiler [::xo::cc set user_id]
+        :set_property graded 1
+        ::xo::cc set_parameter return_url ".?view=[:get_property -name assignment_id]&type=submitted"
+        util_user_message -message "[_ tlf-assignments.grade_success]."
+    }
+
+    AssignmentCoreWFprocs instproc do_resubmission {} {
+        :set_property graded 0
+        set files ""
+        set answer [:get_property -name answer]
+        set page [:get_property -name page]
+        #write submission log
+        for {set i 1} {$i < 6} {incr i} {
+            set file [join [:get_property -name file$i]]
+            if {[llength $file] > 2 && [llength $file] % 2 eq 0} {
+                array set file_array $file
+                if {[info exists file_array(name)]} {
+                    set file $file_array(name)
+                }
+            }
+
+            if {$file ne ""} {
+                set fi [[::xo::cc set package_id] lookup -name file:file$i -parent_id ${:item_id}]
+                if {[info exists file_array(revision_id)]} {
+                    set live_revision $file_array(revision_id)
+                } else {
+                    set live_revision [::content::item::get_live_revision -item_id $fi]
+                }
+                append files "<a href='[[::xo::cc package_id] pretty_link -download 1 -parent_id ${:item_id} file$i]?revision_id=$live_revision&filename=[ns_urlencode $file]'>$file</a><br>"
+            }
+        }
+        set subm_log [:get_property -name submission_log]
+        set creator  [::tlf_cassignments::get_user_name -user_id [:get_property -name creator_id]]
+        set subm_date [clock format [:get_property -name submission_date] -format  {%d.%m.%Y %H:%M}]
+        set comm_log ""
+        set supercomm_log ""
+
+        if {[set com [:get_property -name comment]] ne ""} {
+            regsub -all {(<|>)} $com {} com
+            set comm_log {<div class=\"form-item-wrapper\">
+                             <div class=\"form-label old\">
+                                 \#tlf-assignments.my_comment\#:
+                             </div>
+                             <div class=\"form-widget\">
+                                 $com
+                             </div>
+                         </div>}
+        }
+        if {[set sc [:get_property -name supervisorcomment]] ne ""} {
+            regsub -all {(<|>)} $sc {} sc
+            set supercomm_log {
+                <div class=\"form-item-wrapper\">
+                    <div class=\"form-label old\">
+                            \#tlf-assignments.supercomment\#:
+                    </div>
+                    <div class=\"form-widget\">$sc</div>
+                </div>}
+        }
+
+        append subm_log {
+                <div class='submission-title'>
+                \#tlf-assignments.subm\# $subm_date</div>
+                <div class='submitter'>$creator</div>
+                <div class=\"form-item-wrapper\">
+                <div class=\"form-label old\">
+                    \#tlf-assignments.subm\#
+                </div>
+                <div class=\"form-widget\">
+                    $files
+                    $answer
+                    $page
+                </div>
+                </div>
+        }
+        append subm_log $comm_log $supercomm_log
+        set superfile [join [:get_property -name superfile]]
+        if {[llength $superfile] > 2 && [llength $superfile] % 2 eq 0} {
+            array set sfile_array $superfile
+            if {[info exists sfile_array(name)]} {
+            set superfile $sfile_array(name)
+            }
+        }
+        if {$superfile ne ""} {
+            set sfile [[::xo::cc set package_id] lookup -name file:superfile -parent_id ${:item_id}]
+            if {[info exists sfile_array(revision_id)]} {
+                set sfile_live_revision $sfile_array(revision_id)
+            } else {
+                set sfile_live_revision [::content::item::get_live_revision -item_id $sfile]
+            }
+            set href "[[::xo::cc package_id] pretty_link -download 1 -parent_id ${:item_id} superfile]?revision_id=$sfile_live_revision&filename=[ns_urlencode $superfile]"
+            append subm_log {
+                <div class=\"form-item-wrapper\">
+                    <div class=\"form-label old\">
+                         \#tlf-assignments.superfile\#:
+                    </div>
+                    <div class=\"form-widget\">
+                        <a href='$href'>$superfile</a>
+                    </div>
+                </div>
+            }
+        }
+        append subm_log "<br>"
+
+        :set_property -new 1 submission_log [subst -nocommands $subm_log]
+        :set_property -new 1 comment ""
+
+        #setup notifications
+        set users [:get_property -name group_id]
+        if {[acs_object_type $users] eq "group"} {
+            set users [group::get_members -group_id $users -type user]
+        }
+
+        set system_name [ad_system_name]
+        set system_owner [ad_system_owner]
+        set system_url [ad_url]
+
+	set community_id [dotlrn_community::get_community_id_from_url -url [${:package_id} package_url]]
+	set community_name [dotlrn_community::get_community_name $community_id]
+
+        foreach user_id $users {	    
+            set ast [::xo::db::CrClass get_instance_from_db -item_id [:get_property -name assignment_id]]
+            set link [:pretty_link -absolute 1]
+            set subject "$community_name Überarbeitungsfrist bei einer Aufgabe / Assignment resubmission"
+            set body "\[please scroll down for english version\]<br><br>
+            <b>Benachrichtigung: Neue Überarbeitungsfrist wurde gesetzt</b> <br>
+              Lehrveranstaltung: $community_name<br>
+              Aufgabe: [$ast set title]<br>
+              Ende der Nachfrist: [:get_property -name resubmissionff] <br>
+              <br>Die Aufgabe finden Sie unter <a href='$link'>URL</a><br><hr><br>
+              Bei Fragen steht Ihnen das $system_name-Team unter $system_owner zur Verfügung.
+              <br><br>
+              <b>New resubmission has been set</b><br>
+              Course: $community_name <br>
+              Assignment: [$ast set title]<br>
+              End of resubmission: [:get_property -name resubmissionff] <br>
+              To view the assignment, click <a href='$link'>URL</a><br><hr><br>
+              The $system_name team will be happy to answer your questions ($system_owner).
+              "
+            set email [acs_user::get -user_id $user_id \
+                           -element email]
+            acs_mail_lite::send -to_addr $email \
+                -from_addr $system_owner -subject $subject -body $body -mime_type text/html
+        }
+        ::xo::cc set_parameter return_url ".?view=[:get_property -name assignment_id]&type=submitted"
+    }
+
+    AssignmentCoreWFprocs instproc multiple_files {id} {
+
+        for {set i 2} {$i<=5} {incr i} {
+            append html "<div id='id_${id}${i}' style='display:none'>@${id}${i}@</div>"
+            if {$i > 1} {
+                append script "if ( \$('#id_${id}${i} input').attr('value') != '' ) {
+                    \$('#id_${id}${i}').show();
+                }"
+            }
+        }
+
+        set nonce [expr {[info exists ::__csp_nonce] ? "nonce=\"$::__csp_nonce\"" : ""}]
+        return "$html
+            <div class='form-item-wrapper'>
+               <div class='form-widget'>
+                  <a href='#' id='more_files'>#tlf-assignments.more_files#</a>
+               </div>
+            </div>
+            <script type=\"text/javascript\" $nonce>
+               $script
+               var e = document.getElementById('more_files');
+               e.addEventListener('click', function (event) {enable_upload(\"${id}\");}, false);
+            </script>"
+    }
+
+    AssignmentCoreWFprocs ad_instproc -private calc_submissions {
+        {returnvalue "allsubmissions"}
+    } {
+        Calc submissions
+    } {
+        set package_id ${:package_id}
+        set display_members [parameter::get \
+            -package_id $package_id \
+            -parameter  "member_display" \
+            -default    0]
+        if {[ns_conn isconnected]} {
+            set community_id [dotlrn_community::get_community_id]
+        } else {
+            set community_id [::xo::dc get_value get_comm_id {
+                select min(community_id)
+                  from dotlrn_community_applets
+                 where package_id = :package_id
+            }]
+        }
+        if {$display_members} {
+            # set community_id [dotlrn_community::get_community_id]
+            set members [::xo::dc get_value get_members {
+                select count(*) as count
+                from dotlrn_member_rels_approved
+                where community_id = :community_id
+                and rel_type in ('dotlrn_student_rel','dotlrn_member_rel')
+            }]
+        } else {
+            set members [::xo::dc get_value get_members {
+                select count(*) as count
+                from dotlrn_member_rels_approved
+                where community_id in (
+                select community_id from dotlrn_community_applets
+                where package_id = :package_id)
+                and rel_type in ('dotlrn_student_rel','dotlrn_member_rel')
+            }]
+        }
+        set add_table [expr {$display_members ? ", dotlrn_member_rels_approved m, group_member_map gm " : ""}]
+        set add_query [expr {$display_members ? "and ((bt.hkey->'foreign_user')::integer in (m.user_id, gm.group_id) or ( (bt.hkey->'foreign_user')::integer = 0 and (bt.hkey->'creator_id')::integer = m.user_id) )
+and gm.member_id = m.user_id
+and m.community_id = $community_id" : ""}]
+
+        # set community_id [dotlrn_comm unity::get_community_id]
+        set template [string trimleft [$package_id resolve_page abgabe-stud.wf method_var] :]
+        set base_id ${:item_id}
+
+        set parent_id ${:parent_id}
+        set sub_list [xo::dc list_of_lists calc_submissions_query "
+        select aid, ast
+            from (
+                select bt.item_id as aid,
+                case when bt.state in ('graded')
+                        then 'graded'
+                    when bt.state in ('submitted', 'grade_state', 'resubmission')
+                        then 'submitted'
+                    when bt.state IN ('initial', 'rate')
+                        then 'open'
+                end as ast,
+                (bt.hkey->'graded') g,
+                (bt.hkey->'amiadmin') a
+            from xowiki_form_instance_item_index bt $add_table
+            where page_template = :template
+            and parent_id = :parent_id
+            and (bt.hkey -> 'assignment_id')::integer = :base_id
+            and bt.publish_status = 'ready'
+            $add_query
+            group by 1, 2, 3, 4) subq
+            where a::boolean = false
+            and ((ast = 'graded' and g::boolean = true) or ast != 'graded')"]
+
+        set open_submissions ""
+        set graded_submissions ""
+        set submitted_submissions ""
+        set allsubmissions ""
+        foreach sub_item $sub_list {
+            lassign $sub_item id state
+            switch $state {
+                open {
+                    lappend open_submissions $id
+                }
+                graded {
+                    lappend graded_submissions $id
+                }
+                submitted {
+                    lappend submitted_submissions $id
+                }
+            }
+            lappend allsubmissions $id
+        }
+        switch $returnvalue {
+            allsubmissions {
+                set rval $allsubmissions
+            }
+            submitted {
+                set rval $submitted_submissions
+            }
+            graded {
+                set rval $graded_submissions
+            }
+            open {
+                set rval $open_submissions
+            }
+        }
+
+        if {$returnvalue ne "allsubmissions" && $rval ne ""} {
+            #we need batch init here!
+            ::xowiki::FormPage instantiate_objects -sql "
+            select xfi.item_id,
+                   xpi.instance_attributes,
+                   xfi.parent_id,
+                   xfi.state,
+                   xfi.page_template,
+                   xfi.package_id,
+                   xfi.name
+              from xowiki_form_instance_item_index xfi
+                inner join cr_items ci
+                on ci.item_id = xfi.item_id
+                inner join xowiki_page_instance xpi
+                on ci.live_revision = xpi.page_instance_id
+                where xfi.item_id in ([join $rval ,])" \
+           -named_objects 1 -object_named_after "item_id" \
+           -object_class ::xowiki::FormPage -initialize 1
+        }
+
+        set n_allsubmissions [llength $allsubmissions]
+        set n_bearb [llength [:get_property -name bearbeiter]]
+        set n_gr    [llength [:get_property -name groups]]
+        set missing [expr {$n_bearb - $n_allsubmissions}]
+        if {$n_bearb == 0} {
+            set missing [expr {$members - $n_allsubmissions}]
+        }
+        if {$n_gr != 0} {
+            set missing [expr {$n_gr - $n_allsubmissions}]
+        }
+        if {$missing < 0} {
+            set missing 0
+        }
+
+        return [list \
+            missing     $missing \
+            submitted   [llength $submitted_submissions] \
+            graded      [llength $graded_submissions] \
+            open        [llength $open_submissions] \
+            returnvalue $rval]
+    }
+
+    AssignmentCoreWFprocs instproc pp_calc_submissions {
+        {-prefetch ""}
+    } {
+        :instvar package_id
+        if {$prefetch ne ""} {
+            array set subs $prefetch
+        } else {
+            array set subs [:calc_submissions]
+        }
+        set id ${:item_id}
+        set type [::xo::cc query_parameter type "allsubmissions"]
+        set class1 ""
+        set class2 ""
+        set class3 ""
+        set class4 ""
+        if {$type eq "missing"} {
+            set class1 "font-weight:bold;"
+        } elseif {$type eq "open"} {
+            set class2 "font-weight:bold;"
+        } elseif {$type eq "submitted"} {
+            set class3 "font-weight:bold;"
+        } elseif {$type eq "graded"} {
+            set class4 "font-weight:bold;"
+        }
+        set index_link [$package_id pretty_link -parent_id [$package_id folder_id] index]
+        set statusbar "
+            <ul class='horizontal-list'>
+              <li style='padding-right:1em;'>
+                <a href='${index_link}?view=$id&type=missing' title='[_ tlf-assignments.missing]' class='abgaben n10' style='$class1'>
+                  [_ tlf-assignments.missing] ($subs(missing))
+                </a>
+              </li>
+              <li style='padding-right:1em;'>
+                <a href='${index_link}?view=$id&type=open' title='[_ tlf-assignments.open]' class='abgaben n11' style='$class2'>
+                  [_ tlf-assignments.open] ($subs(open))
+                </a>
+              </li>
+              <li style='padding-right:1em;'>
+                <a href='${index_link}?view=$id&type=submitted' title='[_ tlf-assignments.submitted]' class='abgaben n12' style='$class3'>
+                  [_ tlf-assignments.submitted] ($subs(submitted))
+                </a>
+              </li>
+              <li style='padding-right:1em;'>
+                <a href='${index_link}?view=$id&type=graded' title='[_ tlf-assignments.graded]' class='abgaben n13' style='$class4'>
+                  [_ tlf-assignments.graded] ($subs(graded))
+                </a>
+              </li>
+            </ul>
+        "
+
+        array unset subs
+        return $statusbar
+    }
+
+    AssignmentCoreWFprocs instproc calc_basevalues_ot {items} {
+        ns_log notice "calc_basevalues_ot called by [:item_id] with items=$items"
+        set amiadmin [permission::permission_p -object_id ${:package_id} -privilege "admin"]
+        set k 0
+        set sum 0.0
+        set answerstorate 3.0
+        # calculate basiswert for own answer
+
+        foreach item $items {
+            if {[namespace which $item] eq ""} {::xo::db::CrClass get_instance_from_db -item_id $item}
+            ns_log notice "dealing with [$item name] [$item set item_id]"
+            set wform [:get_property -name rateitem[incr k]_scale]
+            set qitem [$item get_property -name qvar -default 0.1]
+            ns_log notice "qvar is $qitem"
+            set w [expr {$wform / 10.0}]
+            if { (1.0 - $qitem) > $qitem } {
+                set maxdivq [expr {1.0 - $qitem}]
+            } else {
+                set maxdivq $qitem
+            }
+
+            #vorzeichen aendern wenn negativ
+            set dev [expr {$w-$qitem }]
+            if {$dev < 0} {
+                set dev [expr -$dev]
+            }
+
+            ns_log notice "xolrn_cf: doing calc_basevacalc_basevalues for [$item set item_id] - [$item set name] - dev=$dev, qitem=$qitem, w=$w, maxdivq=$maxdivq"
+            #calculate sum
+            set sum [expr {$sum + 0.0 + ($dev) / ($maxdivq)}]
+
+            # append rating and link to solution
+            if {!$amiadmin} {
+                set ratings [$item get_property -name ratings]
+                ns_log notice "xolrn_cf: :object id is: ${:object_id} - :ratings are $ratings - i am [$item set item_id]"
+                lappend ratings "$w ${:item_id}"
+                $item set_property -new 1 ratings $ratings
+                set s [$item find_slot instance_attributes]
+                $item update_attribute_from_slot -revision_id "[$item revision_id]" $s [$item instance_attributes]
+                $item save
+            }
+        }
+        set bvar  [expr {1.0 - (1.0 / $answerstorate) * $sum}]
+        if {$bvar < 0.1} {
+            ns_log notice "xolrn bug: bvar ist smaller than 0.1, resetting to 0.1"
+            set bvar 0.1
+        }
+        ns_log notice "xolrn_cf: sum=$sum, bvar=$bvar"
+        :set_property -new 1 bvar [format %.2f $bvar]
+        #calculate distance
+        set min_dist 0
+        set min_dist_item 0
+        foreach answer [:get_ot_answers -all 1] {
+            set ldist [:similarity [:get_property -name answer] [$answer get_property -name answer]]
+            #::xo::cc msg $ldist
+            if {$ldist > $min_dist} {
+                set min_dist $ldist
+                set min_dist_item [$answer set item_id]
+            }
+        }
+        :set_property -new 1 ldist $min_dist
+        :set_property -new 1 ldist_item $min_dist_item
+
+        set tvar [:get_property -name tvar -default 0]
+        ns_log notice "tvar $tvar"
+        if {$tvar ne 0} {
+            set qvar [expr {($bvar+$tvar)/2}]
+            set ast_id [:get_property -name assignment_id]
+            set modus [::xo::dc get_value get_mode "select (hkey->'modus')
+                                            from xowiki_form_pagei bt, cr_items ci
+                                            where bt.item_id = :ast_id
+                                            and bt.revision_id = ci.live_revision
+                                            and ci.item_id = bt.item_id"]
+            set grade ""
+            switch $modus {
+                note {
+                    set grade 5
+                    if {$qvar > 0.5} {
+                        set grade 4
+                    } elseif {$qvar > 0.6} {
+                        set grade 3
+                    } elseif {$qvar > 0.7} {
+                        set grade 2
+                    } elseif {$qvar > 0.8} {
+                        set grade 1
+                    }
+                }
+                percent {
+                    set grade [expr {ceil(($qvar/1)*100)}]
+                }
+                passed {
+                    if {$qvar > 0.5} {
+                        set grade "[_ tlf-assignments.passed]"
+                    } else {
+                        set grade "[_ tlf-assignments.not_passed]"
+                    }
+                }
+                points {
+                    set maxpoints [::xo::dc get_value get_points "select (hkey->'points')
+                        from xowiki_form_pagei bt, cr_items ci
+                        where bt.item_id = :ast_id
+                        and bt.revision_id = ci.live_revision
+                        and ci.item_id = bt.item_id" 0]
+                    if {$maxpoints eq "0"} {
+                        set maxpoints 10
+                    }
+                    set grade [format %.2f [expr {$qvar*$maxpoints}]]
+                }
+            }
+            :set_property -new 1 grade $grade
+            ns_log notice "got a new grade $grade"
+        } else {
+            set qvar $bvar
+        }
+        if {$qvar < 0.1} {set qvar 0.1}
+        :set_property -new 1 qvar $qvar
+        ns_log notice "neuer qvar $qvar"
+        :set_property -new 1 evar 0.0
+
+        #comment the following loop to disable recalculation of the items that have been rated
+        #and disable evar
+        foreach item $items {
+        ns_log notice "dealing with [$item name] [$item set item_id]"
+            set qwsum 0.0
+            set qsum 0.0
+            #get current ratings of the item
+            #calculate qwsum
+            if {[$item get_property -name is_sample] eq 1} {
+                continue
+            }
+            set ratings [$item get_property -name ratings]
+            ns_log notice "xolrn_cf: ### recalc evar for [$item set item_id] number of ratings= [llength ratings]"
+            set ratings_valid ""
+
+            foreach rating $ratings {
+                set solution_id ""
+                ns_log notice "xolrn_cf: current rating=$rating "
+                set w [lindex $rating 0]
+                set solution_id [lindex $rating 1]
+                ns_log notice "xolrn_cf: rating=$w,solution_id=$solution_id"
+                set solution_item ""
+                catch {set solution_item [::xo::db::CrClass get_instance_from_db -item_id $solution_id]}
+                if {$solution_item ne ""} {
+                    lappend ratings_valid $rating
+                    set qvar_sol [$solution_item get_property -name qvar]
+                    if {![string is double -strict $qvar_sol]} {
+                        continue
+                    }
+                    ns_log notice "xorln_cf: solution item found qvar=$qvar_sol, w=$w"
+                    set qwsum [expr {0.0 + $qwsum + $w * $qvar_sol}]
+                    set qsum [expr {0.0 + $qsum + $qvar_sol}]
+                }
+            }
+
+            set ratings $ratings_valid
+            if {$qsum <= 0} {
+                set qsum 0.001
+                ns_log notice "####serious bug? xolrn_cf: important: qsum was 0!"
+            }
+
+            set evar [expr {(1.0 / $qsum) * $qwsum}]
+            ns_log notice "xolrn_cf: qwsum fuer $item= $qwsum, qsum=$qsum, evar=$evar"
+
+            $item set_property -new 1 evar $evar
+            set bvar [$item get_property -name bvar]
+            set nratings [llength $ratings]
+            set qvar [expr {($answerstorate/($answerstorate+$nratings))*$bvar+(($nratings)/($nratings+$answerstorate)*$evar)}]
+            ns_log notice "xolrn_cf: debug: bvar=$bvar evar=$evar nratings=$nratings answerstorate=$answerstorate - qvar=$qvar"
+            $item set_property -new 1 ratings $ratings
+            $item set_property -new 1 qvar $qvar
+
+            set s [$item find_slot instance_attributes]
+            $item update_attribute_from_slot -revision_id "[$item revision_id]" $s [$item instance_attributes]
+            $item save
+        }
+    }
+
+    AssignmentCoreWFprocs instproc save_values {} {
+        foreach group [:get_property -name groups] {
+            if {![string is integer $group]} {
+                :set_property groups ""
+                break
+            }
+        }
+    }
+
+    AssignmentCoreWFprocs instproc germanize_date {date} {
+        set datevar [:get_property -name $date]
+        return [lc_time_fmt $datevar {%d.%m.%Y %H:%M}]
+    }
+
+    ##########  Assignment Task Rendering: teachers view
+    AssignmentCoreWFprocs instproc render_angabe_full {
+      {-prefetch ""}
+    } {
+        ::xo::Page requireJS "/resources/tlf-assignments/tlf-assignment.js"
+        ::xo::Page requireCSS "/resources/tlf-assignments/tlf-assignments.css"
+
+        #Statusanzeige:
+        set is_enabled [expr {[:check_submittable 0] eq "" ? 0 : 1}]
+        if {${:state} ne "published"} {
+            set is_enabled 0
+        }
+        set aufgabenstellung "
+            <div class='submission-title'>
+            <ul class='horizontal-list render-angabe'>
+            <li><a href='[:pretty_link]'>${:title}</a></li>"
+        if {$is_enabled} {
+            append aufgabenstellung "<li><span class='notice n8 grey percent85' title='[_ tlf-assignments.is_running_help]'>[_ tlf-assignments.is_running]</span></li>"
+        } else {
+            if {${:state} eq "editing" || ${:state} eq "assign" || ${:state} eq "initial"} {
+                append aufgabenstellung "<li><span class='notice n5 grey percent85' title='[_ tlf-assignments.draft_help]'>[_ tlf-assignments.draft]</span></li>"
+            } elseif {${:state} eq "published"} {
+                if {[clock seconds] > [clock scan [:get_property -name time_to]]} {
+                    append aufgabenstellung  "<li><span class='notice n9 grey percent85' title='[_ tlf-assignments.time_up_help]'>[_ tlf-assignments.time_up]</span></li>"
+                } else {
+                    append aufgabenstellung "<li><span class='notice n7 grey percent85' title='[_ tlf-assignments.ready_help]'>[_ tlf-assignments.ready]</span></li>"
+                }
+            }
+        }
+        append aufgabenstellung  "
+            <li><span style='font-weight:normal;'>[_ tlf-assignments.start]: [:germanize_date time_from] - [_ tlf-assignments.end]: [:germanize_date time_to]</span></li></ul></div>"
+
+        # Cookie information re Aufgabendetails collapsed or expanded
+        set collapseAufgabendetails_p [ad_get_cookie -include_set_cookies t "Aufgabendetails-toggle" 0 ]
+        if {[ad_get_cookie -include_set_cookies t "Aufgabendetails-toggle" 0 ] == 0} {
+            set ShowButton "display:none;"
+            set HideButton ""
+
+        } else {
+            set ShowButton ""
+            set HideButton "display:none;"
+        }
+        append aufgabenstellung "
+                <div id='aufgabenstellung'>
+                    <div id='aufgabendetails'>
+                        <div style='padding:1em;'>
+                        <div class='table'>
+                                <div class='colgroup left'></div>
+                                <div class='colgroup'></div>"
+        if {[:get_property -name verbergen] eq ""} {
+            append aufgabenstellung "<div class='tr'>
+                                <div class='td left'>[_ tlf-assignments.visibility]:&nbsp;</div>
+                                <div class='td'>[_ tlf-assignments.immer]</div>
+                            </div>"
+        } else {
+            append aufgabenstellung "<div class='tr'>
+                                <div class='td left'>[_ tlf-assignments.visibility]:&nbsp;</div>
+                                <div class='td'> [_ tlf-assignments.visibility_help]</div>
+                            </div>"
+        }
+        GradingType=[:get_property -name modus] create [self]::gtype
+        set modus [[self]::gtype PrettyName ${:item_id}]
+
+        append aufgabenstellung "<div class='tr'>
+                                <div class='td left'>[_ tlf-assignments.grade_mode]:&nbsp;</div>
+                                <div class='td' id='modus'>$modus</div>
+                            </div>"
+        if {[:get_property -name points] ne ""} {
+            append aufgabenstellung "<div class='tr'>
+                                <div class='td left'>[_ tlf-assignments.points]:&nbsp;</div>
+                                <div class='td'> [:get_property -name points]</div>
+                            </div>"
+        }
+        if {[set exam [:get_property -name examselector]] ne ""} {
+            set examtitle [::xo::dc get_value title "select lr_title from lr_objects where lr_object_id = :exam" 0]
+            append aufgabenstellung "<div class='tr'>
+                        <div class='td left'>[_ tlf-assignments.exam]:&nbsp;</div>
+                        <div class='td'>$examtitle </div>
+                    </div>"
+        }
+        append aufgabenstellung "<div class='tr'>
+                                <div class='td left'>[_ tlf-assignments.grade_release]:&nbsp;</div>
+                                <div class='td'>"
+        switch [:get_property -name beurteilung] {
+            sofort {
+                append aufgabenstellung "[_ tlf-assignments.rel_sofort]"
+            }
+            date {
+                append aufgabenstellung "[:germanize_date release_date]"
+            }
+            korrektur {
+                append aufgabenstellung "[_ tlf-assignments.rel_corr]"
+            }
+            keine {
+                append aufgabenstellung "[_ tlf-assignments.none]"
+            }
+            individual {
+                append aufgabenstellung "[_ tlf-assignments.individual]"
+            }
+        }
+        append aufgabenstellung "</div>
+                            </div>
+                            <div class='tr'><div class='td'>&nbsp;</div></div>"
+        append aufgabenstellung "<div class='tr'>
+                                <div class='td left'>[_ tlf-assignments.text]:&nbsp;</div>
+                                <div class='td'>[:get_property -name text]</div>
+                            </div>"
+        for {set f 1} {$f <= 5} {incr f} {
+            set file [:get_property -name ss${f}]
+            set name [join [::tlf_cassignments::get_from_value -value $file -attribute name $file]]
+            set revision_id [::tlf_cassignments::get_from_value -value $file -attribute revision_id ""]
+            if {$revision_id ne ""} {set revision_id "&revision_id=$revision_id"}
+            if {$file ne ""} {
+                append aufgabenstellung "<div class='tr'>
+                                <div class='td left'>[_ tlf-assignments.attachment] $f:&nbsp;</div>
+                                <div class='td'><a href='[:pretty_link -download 1]/ss${f}?filename=[ns_urlencode $name]$revision_id'>$name</a></div>
+                            </div>"
+            }
+        }
+        if {[:get_property -name _description] ne ""} {
+            append aufgabenstellung "<div class='tr'>
+                                <div class='td left'>[_ tlf-assignments.add_inf]:&nbsp;</div>
+                                <div class='td'>[:get_property -name _description]</div>
+                            </div>"
+        }
+
+        set member_names ""
+        set group_names ""
+        set bearb [:get_property -name bearbeiter -default ""]
+        foreach gr [:get_property -name groups -default ""] {
+            append group_names "<a href='groupmgr?a=view_detail&id=$gr&return_url=[::xo::cc set url]'>[::xo::dc get_value group_name {select group_name from groups where group_id = :gr} unbekannt]</a>, "
+        }
+        set group_names [string trimright $group_names ", "]
+
+        foreach member $bearb {
+            append member_names "[::tlf_cassignments::get_user_name -user_id $member], "
+        }
+        set member_names [string trimright $member_names ", "]
+        if {$group_names ne ""} {
+            append aufgabenstellung "<div class='tr'><div class='td'>&nbsp;</div></div>
+                                    <div class='tr'>
+                                        <div class='td left'>[_ tlf-assignments.assigned_members]:&nbsp;</div>
+                                        <div class='td'> $group_names</div>
+                                    </div>"
+        } elseif {$member_names ne ""} {
+            append aufgabenstellung "<div class='tr'><div class='td'>&nbsp;</div></div>
+                                    <div class='tr'>
+                                        <div class='td left'>[_ tlf-assignments.assigned_members]:&nbsp;</div>
+                                        <div class='td'> $member_names</div>
+                                    </div>"
+        } else {
+            append aufgabenstellung "<div class='tr'><div class='td'>&nbsp;</div></div>
+                                    <div class='tr'>
+                                        <div class='td left'>[_ tlf-assignments.assigned_members]:&nbsp;</div>
+                                        <div class='td'> [_ tlf-assignments.alle]</div>
+                                    </div>"
+        }
+        append aufgabenstellung "</div>
+                            </div>
+                            </div>
+                         </div>"
+        append aufgabenstellung "<div class='submission-title'>[_ tlf-assignments.abgaben_filter]:</div>
+                                <div style='padding:1em 0;margin-bottom:1em;'>
+                                    [:pp_calc_submissions -prefetch $prefetch]
+                                </div>
+                                <div style='clear:both;'></div>"
+
+        return $aufgabenstellung
+    }
+
+
+    ##########  Assignment Task Rendering: students view
+    AssignmentCoreWFprocs instproc render_angabe {} {
+        set amiadmin [permission::permission_p -object_id ${:package_id} -privilege "admin"]
+        #Statusanzeige:
+        set is_enabled [expr {[:check_submittable 0] eq "" ? 0 : 1}]
+        if {${:state} ne "published"} {
+            set is_enabled 0
+        }
+
+        ::xo::Page requireCSS "/resources/tlf-assignments/tlf-assignments.css"
+         set aufgabenstellung "
+            <div class='submission-title'>
+                <ul class='horizontal-list render-angabe'>
+                    <li>"
+        if {$amiadmin} {
+            append aufgabenstellung "<a href='[:pretty_link]'>${:title}</a>"
+        } else {
+            append aufgabenstellung "${:title}"
+        }
+        append aufgabenstellung "</li>"
+        if {$is_enabled} {
+            append aufgabenstellung "<li><span class='notice-3fields n29 grey percent85' title='[_ tlf-assignments.is_running_help]'>[_ tlf-assignments.is_running]</span></li>"
+        } else {
+            if {${:state} eq "published"} {
+                if {[clock seconds] > [clock scan [:get_property -name time_to]]} {
+                    append aufgabenstellung "<li><span class='notice-3fields n27 grey percent85' title='#tlf-assignments.time_up_help#'>#tlf-assignments.closed#</span></li>"
+                } else {
+                    append aufgabenstellung "<li><span class='notice-3fields n28 grey percent85' title='#tlf-assignments.ready_help#'>#tlf-assignments.ready#</span></li>"
+                }
+            } else {
+                append aufgabenstellung "<li><span class='notice-3fields n27 grey percent85' title='#tlf-assignments.time_up_help#'>#tlf-assignments.closed#</span></li>"
+            }
+        }
+        append aufgabenstellung "
+        <li style='font-weight:normal;'>[_ tlf-assignments.start]: [:germanize_date time_from] - [_ tlf-assignments.end]: [:germanize_date time_to]</li>
+                    </ul>
+             </div>
+             <div id='aufgabenstellung'>
+                <div id='aufgabendetails'>
+                    <div style='padding:1em;'>
+                    <div class='table'>
+                        <div class='colgroup left'></div>
+                        <div class='colgroup'></div>
+                        "
+        set details ""
+        append details "<div class='tr'>
+                <div class='td left'>[_ tlf-assignments.grade_release]:&nbsp;</div>
+                <div class='td'>"
+        switch [:get_property -name beurteilung] {
+            sofort {
+                append details "[_ tlf-assignments.rel_sofort]"
+                }
+            date {
+                append details "[:germanize_date release_date]"
+            }
+            korrektur {
+                append details "[_ tlf-assignments.rel_corr]"
+            }
+            keine {
+                append details "[_ tlf-assignments.none]"
+            }
+            individual {
+                append details "[_ tlf-assignments.individual]"
+            }
+        }
+        append details "</div></div>"
+        append details    "<div class='tr'><div class='td left'>[_ tlf-assignments.text]:&nbsp;</div>
+                <div class='td'>[:get_property -name text]</div></div>"
+        for {set f 1} {$f <= 5} {incr f} {
+            set file [:get_property -name ss${f}]
+            set name [join [::tlf_cassignments::get_from_value -value $file -attribute name $file]]
+            set revision_id [::tlf_cassignments::get_from_value -value $file -attribute revision_id ""]
+            if {$revision_id ne ""} {set revision_id "&revision_id=$revision_id"}
+            if {$file ne ""} {
+                append details "
+                    <div class='tr'>
+                        <div class='td left'>[_ tlf-assignments.attachment] $f:&nbsp;</div>
+                        <div class='td'><a href='[:pretty_link -download 1]/ss${f}?filename=[ns_urlencode $name]$revision_id'>$name</a></div>
+                    </div>"
+            }
+        }
+        if {[:get_property -name _description] ne ""} {
+            append details "
+                <div class='tr'>
+                    <div class='td left'>[_ tlf-assignments.add_inf]:&nbsp;</div>
+                    <div class='td'>[:get_property -name _description]</div>
+                </div>"
+        }
+
+        if {[:get_property -name verbergen] eq 1} {
+            if {[clock seconds] > [clock scan [:get_property -name time_from]]} {
+                append aufgabenstellung $details
+            }
+        } elseif {$amiadmin} {
+            append aufgabenstellung $details
+        } else {
+            append aufgabenstellung $details
+        }
+
+        set group_names ""
+        foreach gr [:get_property -name groups -default ""] {
+            set is_member [group::member_p -user_id [::xo::cc set user_id] -group_id $gr -cascade]
+            if {$is_member} {
+                append group_names "[::xo::dc get_value group_name {select group_name from groups where group_id = :gr} unbekannt] "
+                #list the members of :group
+                set comm_id [dotlrn_community::get_community_id]
+                set active_group_members ""
+                foreach member [group::get_members -group_id $gr] {
+                    if {[dotlrn_community::get_member_role $comm_id $member] ne ""} {
+                        append active_group_members [::tlf_cassignments::get_user_name -user_id $member]
+                        append active_group_members ", "
+                    }
+                }
+                set active_group_members [string trimright $active_group_members ", "]
+                append group_names "($active_group_members), "
+
+            } else {
+                append group_names "[::xo::dc get_value group_name {select group_name from groups where group_id = :gr} unbekannt], "
+            }
+        }
+        set group_names [string trimright $group_names ", "]
+        if {$group_names ne ""} {
+            append aufgabenstellung " <div class='tr'>
+                <div class='td left'>[_ tlf-assignments.assigned_members]: </div>
+                <div class='td'>$group_names</div>
+            </div>"
+        }
+        append aufgabenstellung "
+                </div>
+            </div>
+            </div>
+        </div>"
+        return $aufgabenstellung
+    }
+
+    ##########  Assignment OT: Render Intro-Text for students
+    AssignmentCoreWFprocs instproc render_intro_text {} {
+        set intro_text "
+                    <div class='netiquette'><p class='bold'>[_ tlf-assignments.ot_intro_text1]</p>
+                    <ul><li>[_ tlf-assignments.ot_intro_text2]</li>
+                    <li>[_ tlf-assignments.ot_intro_text3]</li>
+                    <li><span class='bold'>[_ tlf-assignments.ot_intro_text4]</span></li>
+                    </ul>
+                    <p>[_ tlf-assignments.ot_intro_text5]</p>
+                    </div>"
+        return $intro_text
+    }
+
+    AssignmentCoreWFprocs instproc fristen {ast} {
+        set html ""
+        set group_id [:checkgroup [::xo::cc user_id]]
+        set nf [$ast get_property -name [lindex $group_id 1]_nachfrist]
+        if {$nf ne "" || [:get_property -name resubmissionff] ne ""} {
+            append html "<div class='fristen'>
+                            <div class='table'>"
+            if {$nf ne ""} {
+                append html "<div class='tr'><div class='td'>[_ tlf-assignments.nachfrist]:&nbsp;</div><div class='td'>[$ast germanize_date [lindex $group_id 1]_nachfrist] </div></div>"
+            }
+            if {[set resub [:get_property -name resubmissionff]] ne ""} {
+                append html "<div class='tr'><div class='td'>[_ tlf-assignments.resub_deadline]:&nbsp;</div><div class='td'>[:germanize_date resubmissionff]</div></div>"
+            }
+            append html "</div></div>"
+        }
+        return $html
+    }
+
+    AssignmentCoreWFprocs instproc www-csv_export_ot {} {
+        package require csv
+        set csv ""
+        set item_id ${:item_id}
+        set parent_id [:parent_id]
+        append csv [::csv::join [list matnr qvar bvar evar \
+                        rateitem1_scale rateitem2_scale rateitem3_scale ratings ldist supervisorcomment \
+                        group_name] ";"]
+        append csv "\n"
+        ::xo::dc foreach result {select
+            (bt.hkey->'qvar')::text as qvar,
+            (bt.hkey->'bvar')::text as bvar,
+            (bt.hkey->'evar')::text as evar,
+            (bt.hkey->'rateitem1_scale')::text as rateitem1_scale,
+            (bt.hkey->'rateitem2_scale')::text as rateitem2_scale,
+            (bt.hkey->'rateitem3_scale')::text as rateitem3_scale,
+            (bt.hkey->'ratings')::text as ratings,
+            (bt.hkey->'ldist')::text as ldist,
+            (bt.hkey->'grade')::text as grade,
+            (bt.hkey->'supervisorcomment')::text as supervisorcomment,
+            (bt.hkey->'group_id')::text as group_id,
+            group_name
+            from xowiki_form_instance_item_index bt
+            left outer join groups on (bt.hkey ->'group_id')::integer = groups.group_id
+            where parent_id = :parent_id
+            and (bt.hkey->'assignment_id')::integer = :item_id
+            and (bt.hkey->'amiadmin')::boolean = false
+        } {
+            if {[acs_object_type $group_id] eq "group"} {
+                ::xo::dc foreach group_member { select  trim(leading 'h' from a.username) as uname
+                    from acs_users_all a, group_member_map gm
+                    where gm.group_id = :group_id
+                    and gm.member_id = a.user_id } {
+                        append csv [::csv::join [list $uname $qvar $bvar $evar \
+                        $rateitem1_scale $rateitem2_scale $rateitem3_scale $ratings $ldist $supervisorcomment \
+                        $group_name] ";"]
+                        append csv "\n"
+                    }
+            } elseif {[acs_object_type $group_id] eq "user"} {
+                acs_user::get -user_id $group_id -array userinfo
+                append csv [::csv::join [list $userinfo(username) $qvar $bvar $evar \
+                        $rateitem1_scale $rateitem2_scale $rateitem3_scale $ratings $ldist $supervisorcomment] ";"]
+                append csv "\n"
+            }
+        }
+        if {$csv eq ""} {
+            util_user_message  -message "[_ tlf-assignments.export_noting]"
+            ad_returnredirect [${:package_id} pretty_link -parent_id [${:package_id} folder_id] index]
+            ad_script_abort
+        } else {
+            ns_set update [ns_conn outputheaders] content-disposition [subst {attachment; filename="${:title}.csv"}]
+            ns_return 200 text/csv $csv
+            ad_script_abort
+        }
+    }
+    AssignmentCoreWFprocs instproc www-csv_export {} {
+        package require csv
+        set item_id ${:item_id}
+        set csv ""
+        set package_id ${:package_id}
+        set parent_id [$package_id set folder_id]
+        if {[::xo::cc query_parameter all] eq 1} {
+        #we want to export all members, including those without grades
+            set comm_id [dotlrn_community::get_community_id]
+            ::xo::dc foreach member {select  trim(leading 'h' from username) as uname from acs_users_all u where user_id in
+                ( select user_id from dotlrn_member_rels_approved d
+                    WHERE d.community_id in (select community_id from dotlrn_community_applets where package_id = :package_id)
+                    AND d.rel_type IN ('dotlrn_student_rel','dotlrn_member_rel')
+                    except (select
+                        (bt.hkey->'group_id')::integer from xowiki_form_instance_item_index bt
+                            where bt.package_id = :package_id
+                        and (bt.hkey->'assignment_id')::integer = :item_id)
+                ) order by 1 asc} {
+                append csv "$uname;\n"
+            }
+        }
+        ::xo::dc foreach result {select trim(leading 'h' from a.username) as uname ,
+        (bt.hkey->'grade')::text as grade,
+        (bt.hkey->'supervisorcomment')::text as supervisorcomment,
+        (bt.hkey ->'group_id')::integer as group_id
+        from xowiki_form_instance_item_index bt, acs_users_all a
+        where parent_id = :parent_id
+        and (bt.hkey->'assignment_id')::integer = :item_id
+        and (bt.hkey->'graded')::integer = 1
+        and (bt.hkey->'amiadmin')::boolean = false
+        and a.user_id = coalesce( nullif((bt.hkey->'foreign_user')::integer, 0), (bt.hkey->'creator_id')::integer);} {
+            if {[::xo::dc get_value is_group "select 1 from groups where
+            group_id = :group_id" 0]} {
+                ::xo::dc foreach group_member { select  trim(leading 'h' from a.username) as uname
+                    from acs_users_all a, group_member_map gm
+                    where gm.group_id = :group_id
+                    and gm.member_id = a.user_id } {
+                        if {[lc_get "decimal_point"] eq ","} {
+                            regsub "\\." $grade "," grade
+                        }
+                        append csv [::csv::join [list $uname $grade $supervisorcomment] ";"]
+                        append csv "\n"
+                    }
+            } else {
+                if {[lc_get "decimal_point"] eq ","} {
+                    regsub "\\." $grade "," grade
+                }
+                append csv [::csv::join [list $uname $grade $supervisorcomment] ";"]
+                append csv "\n"
+            }
+        }
+        if {$csv eq ""} {
+              util_user_message  -message "[_ tlf-assignments.export_noting]"
+              ad_returnredirect [${:package_id} pretty_link -parent_id [${:package_id} folder_id] index]
+              ad_script_abort
+        } else {
+            ns_set update [ns_conn outputheaders] content-disposition [subst {attachment; filename="${:title}.csv"}]
+            ns_return 200 text/csv $csv
+            ad_script_abort
+        }
+    }
+
+    AssignmentCoreWFprocs instproc -deprecated csv_export {args} {
+        ad_log warning "????? Who calls me?"
+        :www-csv_export {*}$args
+    }
+
+    ###########################################
+    # collecting old revisions
+    ###########################################
+     AssignmentCoreWFprocs instproc collect_submissions {} {
+        return "<div style='clear:both;margin-bottom:1em;'>
+            [:get_property -name submission_log]
+            </div>"
+    }
+
+    ###########################################
+    # indexing proc for search
+    ###########################################
+    AssignmentCoreWFprocs instproc search_render {} {
+        #ns_log notice "ast debug: ${:revision_id} is assignment, no indexing"
+        return [list title "" html "" keywords ""]
+    }
+
+    AssignmentCoreWFprocs instproc www-unassign_group {} {
+        set grouplist ""
+        set remove_me [::xo::cc query_parameter group_id]
+        foreach group [:get_property -name groups] {
+            if {$group ne $remove_me} {
+                lappend grouplist $group
+            }
+        }
+        :set_property groups $grouplist
+        :save
+        ${:package_id} returnredirect [:query_parameter "return_url"]
+    }
+
+    AssignmentCoreWFprocs instproc trigrams2 string {
+        #from http://wiki.tcl.tk/3841
+        set rez [list]
+        set str " $string "
+        set l [expr {[string length $str]-2}]
+        for {set x 0} {$x<$l} {incr x} {
+            lappend rez [string range $str $x $x+2]
+        }
+        return $rez
+    }
+
+    AssignmentCoreWFprocs instproc similarity {str1 str2} {
+        #from http://wiki.tcl.tk/3841
+        set l1 [lsort -unique [:trigrams2 $str1]]
+        set l2 [lsort -unique [:trigrams2 $str2]]
+        set g 0
+        set i1 0
+        set i2 0
+        set len1 [llength $l1]
+        set len2 [llength $l2]
+        set t1 [lindex $l1 $i1]
+        set t2 [lindex $l2 $i2]
+        set l 0
+        while {$i1<$len1 && $i2<$len2} {
+            incr l
+            set r [string compare $t1 $t2]
+            # better than switch statement
+            if {$r==0} {
+                incr i1
+                set t1 [lindex $l1 $i1]
+                incr i2
+                set t2 [lindex $l2 $i2]
+                incr g
+            } elseif {$r==-1} {
+                incr i1
+                set t1 [lindex $l1 $i1]
+            } else {
+                incr i2
+                set t2 [lindex $l2 $i2]
+            }
+        }
+        expr {100*$g/$l}
+    }
+
+    AssignmentCoreWFprocs instproc www-release_grade {} {
+        :set_property -new 1 grade_released 1
+        :save
+        ${:package_id} returnredirect [:query_parameter "return_url"]
+    }
+
+    AssignmentCoreWFprocs instproc is_unprefixed {} {
+        return 1
+    }
+
+    AssignmentCoreWFprocs instproc edit_time_can_be_used_for_item {} {
+        return 1
+    }
+
+    AssignmentCoreWFprocs instproc has_view_submissions {} {
+        return 1
+    }
+}
+Class create ButtonCancelMixin
+ButtonCancelMixin instproc render_form_action_buttons {args} {
+    if {${:state} eq "submitted"} {
+        next
+    } elseif {${:state} eq "initial"} {
+        ::html::div -class "save-cancel" {
+            next
+            ::html::div -class "btn btn-link cancel" {
+                ::html::a -href [:pretty_link]?m=delete {
+                    ::html::t "[_ tlf-assignments.cancel]"
+                }
+            }
+        }
+    } else {
+        ::html::div -class "save-cancel" {
+            next
+            ::html::div -class "btn btn-link cancel" {
+                set package_id [::xo::cc set package_id]
+                ::html::a -href [$package_id pretty_link -parent_id [$package_id folder_id] index] {
+                    ::html::t "[_ tlf-assignments.navi_back]"
+                }
+            }
+        }
+    }
+}
+
+namespace eval ::xo::role {
+    Role create tlf_ast_group_stud
+    tlf_ast_group_stud proc is_member {-user_id:required -package_id} {
+        if {[namespace which ::dotlrn_community::get_community_id] ne ""} {
+            set community_id [:cache [list [dotlrn_community::get_community_id -package_id $package_id]]]
+            if {$community_id ne ""} {
+                return [:cache [list dotlrn::user_is_community_member_p \
+                                  -user_id $user_id \
+                                  -community_id $community_id]]
+            }
+        }
+        return 0
+    }
+    tlf_ast_group_stud proc get_members {-object_id:required} {
+        set community_id [dotlrn_community::get_community_id]
+        set applet_key [ast_installer::applet_key]
+        set package_id [::xo::cc set package_id]
+        set members [::xo::dc list_of_lists -prepare integer,integer,text get_students {
+            select p.last_name || ', ' || p.first_names || '; ' || u.username as title,
+            u.user_id
+            FROM acs_rels r,
+            acs_rel_types rt,
+            membership_rels mr,
+            users u,
+            persons p,
+            acs_rel_roles role
+            where r.object_id_one in (select community_id
+                                      from dotlrn_community_applets
+                                      where active_p = 't'
+                                      and package_id = :package_id
+                                      and applet_id = (select applet_id from dotlrn_applets
+                                                       where applet_key = :applet_key)
+                                      )
+            and u.user_id = p.person_id
+            and mr.rel_id = r.rel_id
+            and u.user_id = r.object_id_two
+            and rt.rel_type = r.rel_type
+            and role.role = rt.role_two
+            and mr.member_state = 'approved'
+            and rt.role_two in ('student', 'member')
+            order by last_name asc
+        }]
+        return $members
+    }
+}
+
+::xo::library source_dependent
Index: openacs-4/packages/tlf-assignments/tcl/tlf-assignments-wf-submission-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/tcl/tlf-assignments-wf-submission-procs.tcl,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/tcl/tlf-assignments-wf-submission-procs.tcl	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,416 @@
+##::xo::db::require package xowf
+::xo::library require -package xowf xowf-procs
+
+
+namespace eval ::xowf {
+    Class create ::xowf::AssignmentSubmissionState
+    ####################################
+    # State initial
+    ####################################
+    AssignmentSubmissionState instproc abgabe_initial {name} {
+        #initial state of a student's submission
+        ::xo::Page requireJS "/resources/tlf-assignments/tlf-assignment.js"
+        ::xo::Page requireCSS "/resources/tlf-assignments/tlf-assignments.css"
+        set obj ${:object}
+        set ast [::xo::db::CrClass get_instance_from_db -item_id [:property assignment_id]]
+        set abgabe "[_ tlf-assignments.subm]"
+        if {[$obj get_property -name resubmissionff] ne ""} {
+            set resub "@resubmissionff@"
+        } else {
+            set resub ""
+        }
+        SubmissionType=[$obj get_property -name exercise_form] create [self]::stype
+        array set forminfo [[self]::stype form_info $obj $ast]
+        set group [lindex [$ast checkgroup [::xo::cc user_id]] 1]
+        #render header and nachfrist
+        set amiadmin [permission::permission_p -object_id [$ast set package_id] -privilege "admin"]
+        set foreign_user [expr {[$obj get_property -name foreign_user] eq "" ? [::xo::cc query_parameter user_id] : [$obj get_property -name foreign_user]}]
+        if {$foreign_user eq ""} {set foreign_user 0}
+        if {$amiadmin &&  $foreign_user} {
+            append html "<div class='netiquette'>#tlf-assignments.submit_as_student_nag# [::tlf_cassignments::get_user_name -user_id $foreign_user].</div>"
+        
+        } elseif {$amiadmin} {
+            append html "<div class='netiquette'>#tlf-assignments.test_nag#</div>"
+        }
+        if {[$obj get_property -name exercise_form] eq "ot"} {
+            append html "[$ast render_intro_text]"
+        }
+        append html "[$ast render_angabe]"
+        append html [$obj fristen $ast]
+        set nf [$ast get_property -name ${group}_nachfrist]
+        append html "</div>"
+
+        #allow the student to write a comment for all forms except exam
+        if {[$ast get_property -name exercise_form] ne "exam"} {
+            set commenthtml "@comment@</p>"
+        } else {
+            set commenthtml ""
+        }
+
+        #collect old submissions
+        set collected_submissions  "<div>[$obj collect_submissions]</div>"
+        #if {$collected_submissions ne ""} {:set_property -new 1 comment ""}
+        set form [::xowiki::Form new -childof [self] -name en:abgabe_initial\
+            -form "<form class='edit-mode-abgabe'>
+                        $html
+                        $collected_submissions
+                        <div class='submission-title'>$abgabe</div>
+                        <div class='edit-mode'>
+                            $forminfo(subm)
+                            $commenthtml
+                            $resub
+                            @_creator@
+                            @group_id@
+                            @assignment_id@
+                            $forminfo(form_info_final)
+                        </div>
+                    </form>
+                " \
+            -anon_instances t -form_constraints [subst {
+                 $forminfo(fc)
+                @cr_fields:hidden
+                group_id:hidden
+                {answer:richtext,
+                    label=#tlf-assignments.my_ans#,
+                    required=1,
+                    rows=15,
+                    validator=safe_html,
+                    editor=ckeditor4,
+                    toolbar=Minimal,
+                    customConfig=/resources/tlf-assignments/ck_config_minimal.js,
+                    extraPlugins=
+                }
+                {comment:textarea,label=#tlf-assignments.my_comment#}
+                {supervisorcomment:label,label=#tlf-assignments.supercomment#}
+                assignment_id:hidden
+                resubmissionff:hidden
+                {superfile:pretty_file,label=#tlf-assignments.superfile#,disabled}
+            }]
+        ]
+        return $form
+    }
+    
+    
+    ##########################################
+    # State submitted, resubmission, grade_state
+    ##########################################
+    AssignmentSubmissionState instproc abgabe_submitted {name} {
+        #write a list of all submissions + feedback
+        ::xo::Page requireJS "/resources/tlf-assignments/tlf-assignment.js"
+        ::xo::Page requireCSS "/resources/tlf-assignments/tlf-assignments.css"
+        set ast [::xo::db::CrClass get_instance_from_db -item_id [:property assignment_id]]
+        set html ""
+        set ffs ""
+        set obj ${:object}
+        set amiadmin [permission::permission_p -object_id [$obj set package_id] -privilege "admin"]
+
+        if {$amiadmin} {
+            set package_id [${:object} set package_id]
+            set ast [::xo::db::CrClass get_instance_from_db -item_id [$obj get_property -name assignment_id]]
+        }
+        SubmissionType=[$obj get_property -name exercise_form] create [self]::stype
+        array set submission_form_html [[self]::stype submission_form_html $obj $ast]
+        if {[$obj get_property -name comment] ne ""} {
+            append ffs "{comment:label,label=#tlf-assignments.subm_comm#}"
+            append html "\n@comment@\n"
+        }
+        set form [::xowiki::Form new -childof [self] -name en:abgabe_initial\
+            -form "<form class='non-edit-mode'>
+                        [$ast render_angabe]
+                        [$obj fristen $ast]
+                        @_creator@
+                        @group_id@
+                        @assignment_id@
+                        $submission_form_html(html)
+                        $submission_form_html(ff)
+                        $html
+                    </form>
+                " \
+        -anon_instances t -form_constraints "
+                {file1:pretty_file,label=#tlf-assignments.subm#,disabled}
+                @cr_fields:hidden
+                group_id:hidden
+                $ffs
+                assignment_id:hidden
+                file2:pretty_file,disabled,label=
+                file3:pretty_file,disabled,label=
+                file4:pretty_file,disabled,label=
+                file5:pretty_file,disabled,label=
+                {page:richtext,disabled=1,label=#tlf-assignments.subm#}
+                {answer:richtext,disabled=1,label=#tlf-assignments.my_ans#}
+            "
+        ]
+        return $form
+    }
+
+    ##########################################
+    # State grade_state
+    ##########################################
+    AssignmentSubmissionState instproc abgabe_grade {name} {
+        #grading form
+        ::xo::Page requireJS "/resources/tlf-assignments/tlf-assignment.js"
+        ::xo::Page requireCSS "/resources/tlf-assignments/tlf-assignments.css"
+        set ast [::xo::db::CrClass get_instance_from_db -item_id [:property assignment_id]]
+        set gradehtml ""
+        set grade_fc ""
+        set link ""
+        set obj ${:object}
+        set id [$obj set item_id]
+        set last_state [::xo::dc get_value -prepare integer last_state {
+            select state from xowiki_form_page
+            where xowiki_form_page_id = (select max(revision_id)
+                                         from cr_revisions r, cr_items i
+                                         where r.item_id = i.item_id
+                                           and r.revision_id <> i.latest_revision
+                                           and i.item_id = :id)
+        }]
+        if {$last_state ne "graded"} {
+            $obj set_property -new 1 supervisorcomment ""
+        }
+            $obj set_property -new 1 superfile ""
+        SubmissionType=[$obj get_property -name exercise_form] create [self]::stype
+        array set type_vars [[self]::stype grading_form $obj]
+        array set subm_vars [[self]::stype submission_form_html $obj $ast] 
+        
+        set bearbeitung ""
+        if {[$obj get_property -name start_date] ne ""} {
+            set bearbeitung "
+                <div class='grey margin-bottom-1'>[_ tlf-assignments.bzeit]: [$obj get_property -name start_date] - [$obj get_property -name end_date]</div>
+            "
+        }
+        GradingType=[$ast get_property -name modus] create [self]::gtype
+        set grade_fc [[self]::gtype formConst $ast]
+        set form [::xowiki::Form new -childof [self] -name en:abgabe_initial\
+            -form "<form class='edit-mode-abgabe'>
+                [$ast render_angabe]
+                [$obj fristen $ast]
+                $bearbeitung
+                $subm_vars(html)
+                $subm_vars(ff)
+                @_creator@
+                @group_id@
+                @assignment_id@
+                <div class='edit-mode margin-top-1'>
+                $type_vars(form)
+                $gradehtml
+                </div>
+                </form>
+            " \
+            -anon_instances t -form_constraints "
+                {file1:pretty_file,label=#tlf-assignments.subm#,disabled}
+                @cr_fields:hidden
+                group_id:hidden
+                comment:label,label=#tlf-assignments.comment#
+                assignment_id:hidden
+                file2:pretty_file,disabled,label=
+                file3:pretty_file,disabled,label=
+                file4:pretty_file,disabled,label=
+                file5:pretty_file,disabled,label=
+                $grade_fc
+                $type_vars(ff)"
+        ]
+        return $form
+    }
+    
+    ##########################################
+    # State graded
+    ##########################################
+    AssignmentSubmissionState instproc abgabe_graded {name} {
+        #submission has been graded
+        ::xo::Page requireJS "/resources/tlf-assignments/tlf-assignment.js"
+        ::xo::Page requireCSS "/resources/tlf-assignments/tlf-assignments.css"
+        set link ""
+        set obj ${:object}
+        set amiadmin [permission::permission_p -object_id [$obj set package_id] -privilege "admin"]
+        if {$amiadmin} {
+            set package_id [$obj set package_id]
+            set ast [::xo::db::CrClass get_instance_from_db -item_id [:get_property -name assignment_id]]
+        }
+        set ast [::xo::db::CrClass get_instance_from_db -item_id [:property assignment_id]]
+        set ff ""
+        if {[$obj get_property -name supervisorcomment] ne ""} {
+            append ff "{supervisorcomment:label,label=#tlf-assignments.supercomment#}\n"
+        } else {
+            append ff "supervisorcomment:hidden\n"
+        }
+        if {[$obj get_property -name comment] ne ""} {
+            append ff "{comment:label,label=#tlf-assignments.comment#}\n"
+        } else {
+            append ff "comment:hidden\n"
+        }
+        SubmissionType=[$obj get_property -name exercise_form] create [self]::stype
+        array set graded_form_info [[self]::stype graded_form_html $obj $ast]
+        GradingType=[$ast get_property -name modus] create [self]::gtype
+        set modus [[self]::gtype PrettyName $ast]
+        set stud [$obj get_property -name creator_id]
+        set uname [::tlf_cassignments::get_user_name -user_id $stud]
+        set submission_date [$obj get_property -name  submission_date]
+        set submission_date_clean "" 
+        set beurteiler [$obj get_property -name beurteiler]
+        if {$beurteiler ne ""} {
+            set beurteiler [::tlf_cassignments::get_user_name -user_id $beurteiler]
+        }
+        set grading_date [$obj get_property -name grading_date]
+        if {$grading_date ne ""} {
+            set grading_date [clock format $grading_date -format  {%d.%m.%Y %H:%M}]
+        }
+        if {[$ast check_grade_vis] || $amiadmin} {
+            set conditionals "@grade@ @superfile@ @supervisorcomment@"
+        } else {
+            set conditionals ""
+        }
+        set bearbeitung ""
+        if {[$obj get_property -name start_date] ne ""} {
+            set bearbeitung "
+                <div class='grey margin-bottom-1'>Bearbeitungszeitraum: [$obj get_property -name start_date] - [$obj get_property -name end_date]</div>
+            "
+        }
+        catch {set submission_date_clean [clock format $submission_date -format  {%d.%m.%Y %H:%M}]} err
+        set form [::xowiki::Form new -childof [self] -name en:abgabe_initial\
+            -form "<form class='non-edit-mode'>
+                    [$ast render_angabe]
+                    [$obj fristen $ast]
+                    [$obj collect_submissions]
+                    <div class='submission-title'>#tlf-assignments.subm# $submission_date_clean</div>
+                    <div class='submitter'>$uname</div>
+                    $bearbeitung
+                    $graded_form_info(link)
+                    @comment@
+                    <br>
+                    <div class='submission-title'>#tlf-assignments.grading# $grading_date</div>
+                    <div class='submitter'>$beurteiler</div>
+                        @mode@
+                        $conditionals
+                        @_creator@
+                        @group_id@
+                        @assignment_id@
+                    </form>
+            " \
+            -anon_instances t -form_constraints "
+                {file1:pretty_file,disabled,label=}
+                @cr_fields:hidden
+                  group_id:hidden
+                  {mode:label,value=$modus,label=#tlf-assignments.grade_mode#}
+                  assignment_id:hidden
+                  file2:pretty_file,disabled,label=
+                  file3:pretty_file,disabled,label=
+                  file4:pretty_file,disabled,label=
+                  file5:pretty_file,disabled,label=
+                  grade:subst_label,label=#tlf-assignments.grading#
+                  superfile:pretty_file,disabled,label=
+                  $graded_form_info(ff)"
+        ]
+        return $form
+    }
+
+    ############################################
+    # State resubmission
+    ############################################
+    AssignmentSubmissionState instproc abgabe_resubmission {name} {
+        #resubmission form
+        set obj ${:object}
+        ::xo::Page requireJS "/resources/tlf-assignments/tlf-assignment.js"
+        ::xo::Page requireCSS "/resources/tlf-assignments/tlf-assignments.css"
+        set ast [::xo::db::CrClass get_instance_from_db -item_id [:property assignment_id]]
+        set additional_ff ""
+        SubmissionType=[$obj get_property -name exercise_form] create [self]::stype
+        array set submission_form_html [[self]::stype submission_form_html $obj $ast]
+        #reset comments
+        $obj set_property -new 1 superfile ""
+        $obj set_property -new 1 supervisorcomment ""
+        if {[::xo::cc permission -object_id [::xo::cc set package_id] -privilege admin -party_id [::xo::cc user_id]]} {
+            append additional_ff " 
+                @resubmissionff@
+                @supervisorcomment@
+                @superfile@
+                "
+        }
+        set form [::xowiki::Form new -childof [self] -name en:abgabe_initial\
+            -form "<form class='edit-mode-abgabe'>
+                        [$ast render_angabe]
+                        [$obj fristen $ast]
+                        @_creator@
+                        @group_id@
+                        @assignment_id@
+                        $submission_form_html(html)
+                        $submission_form_html(ff)
+                        @comment@<br>
+                        <div class='submission-title'>#tlf-assignments.resub#</div>
+                        <div class='edit-mode margin-top-1'>
+                        $additional_ff
+                        </div>
+                    </form>
+            " \
+            -anon_instances t -form_constraints "
+                @cr_fields:hidden
+                group_id:hidden
+                assignment_id:hidden
+                {resubmissionff:date_with_widget,
+		    format=DD_MONTH_YYYY_HH24_MI,
+                    required=yes,
+                    label=#tlf-assignments.deadline#}
+                {superfile:pretty_file,label=#tlf-assignments.file_upload#}
+                {supervisorcomment:textarea,label=#tlf-assignments.supercomment#,admin?:disabled}
+                {file1:pretty_file,label=#tlf-assignments.subm#,disabled}
+                file2:pretty_file,disabled,label=
+                file3:pretty_file,disabled,label=
+                file4:pretty_file,disabled,label=
+                file5:pretty_file,disabled,label=
+                {comment:label=#tlf-assignments.subm_comm#,label}
+                {answer:richtext,disabled=1,label=Antwort}
+                {page:richtext,disabled,label=#tlf-assignments.subm#}"
+        ]
+        return $form
+    }
+
+    ############################################
+    # State rate (for opentext exercise)
+    ############################################
+    AssignmentSubmissionState instproc rating_form {name} {
+        set ast [:get_property -name assignment_id]
+        ::xo::db::CrClass get_instance_from_db -item_id $ast
+        set group [lindex [$ast checkgroup [::xo::cc user_id]] 1]
+        set html "[$ast render_intro_text]"
+        append html [$ast render_angabe]
+        set nf [$ast get_property -name ${group}_nachfrist]
+        if {$nf ne ""} {
+            append html "<br>#tlf-assignments.nachfrist#: $nf</div>"
+        } else {
+            append html "</div>"
+        }
+        set rate_text "#tlf-assignments.rate_help#"
+        set f [::xowiki::Form new -childof [self] -name ot-rate -title "Please rate the answers below" \
+            -text {} \
+            -form [subst {{<form>
+                $html
+                <div class='table-wizard'>
+                    <div class='tr'>
+                        <div class='td grey'>[_ tlf-assignments.ot_step1] </div>
+                        <div class='td active'>[_ tlf-assignments.ot_step2]</div>
+                    </div>
+                </div>
+                <table>
+                <colgroup> <col width="120" /> <col width="80" /> </colgroup>
+                    <tbody>
+                    <tr> <td style="width: 100%;">@rateitem1@ @rateitem1_scale@</td></tr>
+                    <tr> <td>@rateitem2@ @rateitem2_scale@</td></tr>
+                    <tr> <td>@rateitem3@ @rateitem3_scale@</td></tr>
+                    </tbody> </table> </form>} text/html} ]\
+            -anon_instances t \
+            -form_constraints [subst {
+                {rateitem1:richtext,label=#tlf-assignments.other_rating#,disabled=true}
+                {rateitem1_scale:scale,n=10,label=#tlf-assignments.your_rating#,horizontal=true,\
+                    required=yes,help_text=$rate_text}
+                {rateitem2:richtext,label=#tlf-assignments.other_rating#,disabled=true}
+                {rateitem2_scale:scale,n=10,label=#tlf-assignments.your_rating#,horizontal=true,\
+                    required=yes,help_text=$rate_text}
+                {rateitem3:richtext,label=#tlf-assignments.other_rating#,disabled=true}
+                {rateitem3_scale:scale,n=10,label=#tlf-assignments.your_rating#,horizontal=true,\
+                    required=yes,help_text=$rate_text}
+                @cr_fields:hidden}]
+        ]
+        return $f
+    }
+}
+
+::xo::library source_dependent
Index: openacs-4/packages/tlf-assignments/www/index.vuh
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/index.vuh,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/www/index.vuh	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,20 @@
+# -*- tcl -*-
+::xowf::Package initialize -ad_doc {
+
+  This is the resolver for this package. It turns a request into
+  an object and executes the object with the computed method
+
+  @author Gustaf Neumann (gustaf.neumann@wu-wien.ac.at)
+  @creation-date July, 2006
+  @cvs-id $Id: index.vuh,v 1.1 2023/11/22 12:21:38 antoniop Exp $
+
+} -parameter {
+  {-m:token view}
+  {-folder_id:integer 0}
+}
+# body=[ns_conn content]
+::$package_id log "--starting... [ns_conn url] [ns_conn query] \n\
+	form vars = [ns_set array [ns_getform]]"
+::$package_id reply_to_user [::$package_id invoke -method $m]
+::$package_id log "--i ::$package_id DONE"
+ad_script_abort
Index: openacs-4/packages/tlf-assignments/www/tlf_assignment-portlet.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/tlf_assignment-portlet.adp,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/www/tlf_assignment-portlet.adp	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,51 @@
+<if @shaded_p@ ne "t">
+  @url;noquote@
+	<if @num_rows@ gt 0>
+		<if @student_packages@ not nil>
+			<multiple name="student_data">
+				<if @student_data.status_abgabe@ ne "">
+					<h3 class="portlet">@student_data.community_name@</h3>
+					<ul>
+						<group column="community_name">
+							<if @student_data.status_abgabe@ ne "">
+								<li>
+									<a href="@student_data.page_url@">@student_data.page_name@</a><br>
+									<span class="@student_data.status_abgabe_class@" title="@student_data.status_abgabe@">&nbsp;@student_data.finish_date@</span>
+								</li>
+							</if>
+						</group>
+					</ul>
+				</if>
+			</multiple>
+		</if>
+	
+		<if @student_packages@ not nil and @admin_packages@ not nil>
+			<hr>
+		</if>
+		<if @admin_packages@ not nil>
+		    <if @admin_data:rowcount@ gt 0>
+                <multiple name="admin_data">
+                    <if @admin_data.nr_submissions@ gt 0>
+                        <h3 class="portlet">@admin_data.community_name@</h3>
+                        <ul>
+                            <group column="community_name">
+                                <if @admin_data.nr_submissions@ gt 0>
+                                    <li>
+                                        <a href="@admin_data.page_url@&type=submitted">@admin_data.page_name@</a><br>
+                                        @admin_data.nr_submissions@ #tlf-assignments.sub_pl#; #tlf-assignments.end#: @admin_data.finish_date@<br>
+                                    </li>
+                                </if>
+                            </group>
+                        </ul>
+                    </if>
+                </multiple>
+            </if><else>
+                <span class="grey percent85">#tlf-assignments.no_open_subs#</span>
+            </else>
+		</if>
+	</if>
+</if>
+<else>
+	<!-- shaded (removal of this item will cause no display of this portlet in shaded mode) -->
+</else>
+
Index: openacs-4/packages/tlf-assignments/www/tlf_assignment-portlet.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/tlf_assignment-portlet.tcl,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/www/tlf_assignment-portlet.tcl	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,205 @@
+ad_page_contract {
+    display all assignments of a community
+    @author: marmoser at wu.ac.at
+} -properties {
+}
+
+if {![ns_conn isconnected]} {
+    return
+}
+
+#display all available assignments sorted by the publication date
+set html ""
+set url ""
+set user_id [ad_conn user_id]
+# get portlet parameters
+array set config $cf
+# get shades status
+set shaded_p $config(shaded_p)
+if { $config(shaded_p) == "t" } {
+    # return directly to the adp-Wrapper
+    return
+}
+
+# check if we are inside of a community
+if {[dotlrn_community::get_community_id] ne ""} {
+    set in_community_context_p 1
+} else {
+    set in_community_context_p 0
+}
+
+# get list of package id's
+# set list_of_package_ids 0
+if { [info exists config(package_id)] } {
+    foreach pkg $config(package_id) {
+         if {$pkg > 0} {
+            lappend list_of_package_ids $pkg
+         } else {
+             lappend list_of_package_ids "0"
+         }
+    }
+    # set list_of_package_ids $config(package_id)
+} else {
+    set list_of_package_ids "-1"
+}
+# initialize total number of output rows
+set num_rows 0
+# get two list of package id's in which the current user has student/lecturer privileges
+set sql "
+  SELECT
+        distinct dca.package_id,
+        dc.community_id
+    FROM
+        dotlrn_applets da,
+        dotlrn_community_applets dca,
+        dotlrn_communities dc,
+        dotlrn_member_rels_approved dmra
+    WHERE
+        dca.applet_id = da.applet_id
+        AND
+        da.package_key = 'tlf-assignments'
+        AND dc.archived_p = 'f'
+        AND dca.community_id = dc.community_id
+        AND dca.package_id is not null
+        AND dmra.community_id = dc.community_id
+        AND dmra.user_id = :user_id
+        AND dca.package_id IN ([join $list_of_package_ids ", "]);"
+# run query
+if {[lindex $list_of_package_ids 0]>0} {
+    set tlf_applet_list [::xo::dc list_of_lists tlf_applets $sql]
+    ns_log warning "funk  $tlf_applet_list $list_of_package_ids"
+} else {
+    set tlf_applet_list ""
+}
+set admin_packages [list]
+set student_packages [list]
+foreach item $tlf_applet_list {
+    set comm [lindex $item 1]
+    set pkg_id [lindex $item 0]
+    if {$in_community_context_p} {
+        append url "<a href='[apm_package_url_from_id $pkg_id]'>Link</a>"
+    }
+    set applet_key [::ast_installer applet_key]
+    set item [list [lindex $item 0] $comm]
+    if {$item ni $admin_packages && [permission::permission_p -object_id [lindex $item 0] -privilege "admin"]} {
+        lappend admin_packages $item
+        set admin_communities($item) $item
+    } elseif {$item ni $student_packages} {
+        lappend student_packages $item
+        set student_communities($item) $item
+    }
+}
+################################################################################
+
+
+################################################################################
+# admin
+if { [info exists admin_packages] } {
+    # create output object
+    template::multirow create admin_data community_name page_name page_url finish_date nr_submissions
+    foreach item $admin_packages {
+        set package_id [lindex $item 0]
+        set community_id [lindex $item 1]
+        if {[catch {::xowiki::Package initialize -package_id $package_id} err]} {
+               ns_log notice "package initialize failed $err"
+               continue
+       }
+        set display_members [parameter::get -package_id $package_id -parameter member_display -default 0]
+        set community_id [lindex $item 1 0]
+        set comm_clause [expr {$display_members ? "-community_id $community_id" : ""}]
+        set cmd "::tlf_cassignments::get_all_counts -package_id $package_id -display_members $display_members $comm_clause"
+        set community_page "[dotlrn_community::get_community_name $community_id]"
+        foreach {row submissions} [{*}$cmd] {
+            if {![regexp {(\d*)_submitted} [lindex $row 0] match ast_id]} {continue}
+            if {![catch {set ast [::xo::db::CrClass get_instance_from_db -item_id $ast_id]} errMsg] } {
+                set page_url "[apm_package_url_from_id $package_id]?view=[$ast set item_id]"
+                set page_name [$ast set title]
+                set finish_date "[$ast germanize_date time_to]"
+                template::multirow append admin_data $community_page $page_name $page_url $finish_date $submissions
+            } else {
+                ns_log Notice "non existing assignment_id: $ast_id - $errMsg"
+            }
+        }
+    }
+    template::multirow sort admin_data -decreasing finish_date
+    template::multirow sort admin_data -dictionary -increasing community_name
+    template::multirow foreach admin_data {
+        incr num_rows
+    }
+}
+
+################################################################################
+
+
+################################################################################
+# student
+
+if { [info exists student_packages] } {
+    template::multirow create student_data community_name page_name page_url status_abgabe status_abgabe_class finish_date
+    foreach item $student_packages {
+        set package_id [lindex $item 0]
+        set community_name [dotlrn_community::get_community_name [lindex $item 1 0]]
+        if {[catch {::xowiki::Package initialize -package_id $package_id} err]} {
+            ns_log notice "package initialize failed: $err"
+            continue
+       }
+        set base_item [string trimleft [$package_id resolve_page create-assignment.wf method_var] :]
+        set sql {
+            select item_id
+                from xowiki_form_instance_item_index
+                where package_id = :package_id
+                and page_template = :base_item
+                and state = 'published'
+                order by hkey->'time_to' asc
+        }
+        foreach ast_id [::xo::dc list get_assignments $sql] {
+            set ast [::xo::db::CrClass get_instance_from_db -item_id $ast_id]
+            set page_name [$ast set title]
+            set page_url "[expr {[info exists shared_community([lindex $item 1 0])] && !$in_community_context_p?"[dotlrn_community::get_community_url [lindex $item 1 0]]":""}][$ast pretty_link ]"
+            set finish_date "#tlf-assignments.end#: [$ast germanize_date time_to]"
+            set is_enabled [expr {[$ast check_submittable 0] eq "" ? 0 : 1}]
+            if {$is_enabled} {
+                set nf [$ast germanize_date ${user_id}_nachfrist]
+                if {$nf ne ""} {
+                    set finish_date "#tlf-assignments.nachfrist#: $nf"
+                }
+                set abgabe "abgabe_[$ast set item_id]__[lindex [$ast checkgroup [::xo::cc user_id]] 1]"
+                set abgabe_id [$package_id lookup -name $abgabe]
+                set status_abgabe "#tlf-assignments.missing#"
+                set status_abgabe_class "abgaben n10"
+                 if {$abgabe_id > 0} {
+                    ::xo::db::CrClass get_instance_from_db -item_id $abgabe_id
+                        switch [$abgabe_id set state] {
+                            initial {
+                                set status_abgabe "#tlf-assignments.is_open#"
+                                set status_abgabe_class "abgaben n11"
+                            }
+                            submitted {
+                                set status_abgabe ""
+                                set status_abgabe_class ""
+                            }
+                            grade_state {
+                                set status_abgabe ""
+                                set status_abgabe_class ""
+                            }
+                            graded {
+                                set status_abgabe ""
+                                set status_abgabe_class ""
+                            }
+                        }
+                    set page_url "[expr {[info exists shared_community([lindex $item 1 0])]  && !$in_community_context_p?"[dotlrn_community::get_community_url [lindex $item 1 0]]":""}][$abgabe_id pretty_link]"
+                    set resubmission [$abgabe_id germanize_date resubmissionff]
+                    if {$resubmission ne ""} {
+                        set finish_date "#tlf-assignments.resub_deadline#: $resubmission"
+                        set status_abgabe "#tlf-assignments.resub_open#"
+                        set status_abgabe_class "abgaben n11"
+                    }
+                }
+                template::multirow append student_data $community_name $page_name $page_url $status_abgabe $status_abgabe_class $finish_date
+            }
+        }
+    }
+    template::multirow foreach student_data {
+        incr num_rows
+    }
+}
Index: openacs-4/packages/tlf-assignments/www/admin/bulk-delete.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/admin/bulk-delete.tcl,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/www/admin/bulk-delete.tcl	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,23 @@
+::xowiki::Package initialize -ad_doc {
+  this file is called by the bulk action of admin/list 
+
+  @author Gustaf Neumann (gustaf.neumann@wu-wien.ac.at)
+  @creation-date Nov 11, 2007
+  @cvs-id $Id: bulk-delete.tcl,v 1.1 2023/11/22 12:21:38 antoniop Exp $
+
+  @param object_type 
+} -parameter {
+  {-item_id ""}
+}
+
+::xowiki::Package initialize -package_id $package_id
+set allowed [[$package_id set policy] enforce_permissions \
+                 -package_id $package_id -user_id [::xo::cc user_id] \
+                 $package_id delete]
+
+foreach o [ns_querygetall item_id] {
+  ::xo::db::CrClass get_instance_from_db -item_id $o
+  $o www-delete
+}
+ad_returnredirect [$package_id pretty_link -parent_id [$package_id folder_id] index]
+ad_script_abort
Index: openacs-4/packages/tlf-assignments/www/admin/index.vuh
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/admin/index.vuh,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/www/admin/index.vuh	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,5 @@
+# -*- tcl -*-
+::xowf::Package initialize 
+set l [expr {[lsearch -exact [ns_conn urlv] admin] + 1 }]
+set path [join [lrange [ns_conn urlv] $l end] /]
+rp_internal_redirect /packages/xowiki/www/admin/$path
Index: openacs-4/packages/tlf-assignments/www/doc/index.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/doc/index.html,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/www/doc/index.html	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,60 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<!-- Created by htmlize-1.57 in css mode. -->
+<html>
+  <head>
+    <title>Documentation for tlf-assignments package</title>
+  </head>
+  <body>
+    <pre>
+<span class="region">This is a dotlrn applet providing functionality for conducting and evaluating assignments.
+It has been used for university classes at WU Vienna for more than 10 years.
+Message keys for this package are provided in English and German.
+
+<b>DEPENDENCIES</b>
+This package requires dotlrn, xowiki and xowf and depends on ckeditor4 for richtext editing widgets.
+
+<b>INSTALLATION</b>
+This application requires hstore for postgresql. Without hstore, the installation will fail.
+Hstore should be set up before installing xowiki. If you already have xowiki installed, follow the instructions in xowiki-procs.tcl to set up hstore correctly.
+
+The following command shows an example how hstore can be set up. Alternatively, one can connect to the database in the psql shell and type the command in the last argument..
+
+$/usr/bin/psql -U nsadmin -d "oacs-5-10" -tAc "create extension hstore"
+
+<b>FIRST STEPS</b>
+Navigate to Admin -&gt; "Manage Applets" of your dotlrn community.
+Search for "Assignments" in the "Applets To Add" list.
+Click "add".
+-&gt;Your Community Home page shows the assignments portlet with links to the application.
+
+To create your first assignment:
+-Follow the link in the Assignments portlet on your Community Home page.
+-In the menu, select New -&gt; Assignment
+-Complete the form, click Continue
+-Specify assignment recipients. This setting defaults to all registered members of the current community. Alternatively, recipients can be individually selected members or groups. 
+Groups must be defined beforehand in the Group manager (Menu "Group manager" -&gt; "Manage groups").
+Your assignment is listed on the landing page of the assignments application.
+
+<b>DOTLRN PORTLET</b>
+The portlet shows a link to the assignments application and currently open tasks for admins (teachers) and students.
+Students see a list of currently open assignments, admins see assignments with existing submissions which need to be graded.
+
+<b>DESCRIPTION OF FUNCTIONALITY</b>
+With this module, you can
+-define different assignment types (textbox-, file- or peer review assignments).
+-assign homework to single students or
+-define groups within the group manager and assign homework to groups. Only one group member needs to turn in the homework, then.
+-provide feedback and grade assignments or return the assignments to the students for resubmission.
+-grade assignments once they are turned in, even if the submission period has not yet expired.
+-hand in assignments for students, eg pdf files you receive via email.
+
+'Peer review' assignments are an experimental feature based on the algorithm developed by Loll, Frank and Pinkwart, Niels: "CITUC: Automatisierte L&#246;sungsbewertung im E-Learning durch kollaboratives Filtern." (2009).
+<a href='https://aisel.aisnet.org/wi2009/120/'>https://aisel.aisnet.org/wi2009/120/</a>
+
+For a 'Peer review' assignment, the assignment creator must specify 3 or more sample answers and define the quality of the answer on a scale from 1 to 10. Students should be able to correctly identify which answers are good and which answers are bad. 
+From the correctness of these ratings, a tentative score is calculated. In the next step, teachers should grade the quality of the written answer, which contributes the second half of the total points for this assignment.
+If students should also rate the answers of other students, the package parameter "ot_mode" must be set to 0. By default, it is set to 1 which means that only sample answers are provided for rating.
+
+</span></pre>
+  </body>
+</html>
Index: openacs-4/packages/tlf-assignments/www/resources/ck_config_minimal.js
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/ck_config_minimal.js,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/www/resources/ck_config_minimal.js	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,92 @@
+
+CKEDITOR.editorConfig = function( config )
+{
+    config.plugins = 'dialogui,dialog,a11yhelp,about,basicstyles,blockquote,button,toolbar,notification,clipboard,panel,floatpanel,menu,contextmenu,wysiwygarea,elementspath,enterkey,entities,popup,filebrowser,floatingspace,listblock,richcombo,format,horizontalrule,htmlwriter,fakeobjects,indent,indentlist,link,list,magicline,maximize,sourcearea,specialchar,stylescombo,tab,table,tabletools,undo,pastefromword,pastetext,removeformat';
+    config.disableNativeSpellChecker = false;
+    //disble entity-encoding (e.g. to preserve link resolving)
+    config.entities = false;
+    //the allowed attributes are defined by acs-kernel parameters (AllowedAttribute and AllowedTag)
+    //pasted content will be cleaned automatically
+    config.allowedContent = {
+        $1 : {
+            elements: ['a','b','blockquote','code','br','div','dd','dl','dt','cm','font','hr','i','li','ol','p','pre',
+            'span','strike','strong','sub','sup','table','tbody','tr','td','tt','u','ul','email','h1','h2','h3','h4',
+            'h5','h6','img','cite'],
+            attributes: ['align','alt','border','cellpadding','cellspacing','color','face','height','href','hspace','id','name','size','src','style','target','title','valign','vspace','width','colspan','rowspan','class','halign','bgcolor',
+            'frame','rules','nowrap','type','hidden'],
+            styles: true,
+            classes: true
+        }
+    };
+    config.skin = 'bootstrapck';
+    // template plugin config
+    config.templates_replaceContent = false;
+    config.resize_enabled = false;
+    config.toolbar = 'Minimal';
+    config.toolbar_Minimal  =  [
+        ['Maximize','-'],
+        ['PasteText','PasteFromWord','RemoveFormat', '-'],
+        ['Undo','Redo','-'],
+        ['Bold','Italic','Underline','Strike','-','Subscript','Superscript','-','TextColor','BGColor','-'],
+        ['NumberedList','BulletedList','-','Outdent','Indent'],
+        ['Link'],
+        ['Table','SpecialChar','-'],
+        ['-','About']
+    ];
+    config.toolbar_MinimalMathjax  =  [
+        ['Maximize','-'],
+        ['PasteText','PasteFromWord','RemoveFormat', '-'],
+        ['Undo','Redo','-'],
+        ['Bold','Italic','Underline','Strike','-','Subscript','Superscript','-','TextColor','BGColor','-'],
+        ['NumberedList','BulletedList','-','Outdent','Indent'],
+        ['Link'],
+        ['Table','SpecialChar','Mathjax','-'],
+        ['-','About']
+    ];
+    config.pasteFromWordPromptCleanup = true;
+    config.pasteFromWordRemoveFontStyles = true;
+    config.pasteFromWordRemoveStyles = true;
+};
+
+/*
+CKEDITOR.editorConfig = function( config ) {
+    
+    // %REMOVE_START%
+    // The configuration options below are needed when running CKEditor from source files.
+    config.plugins = 'dialogui,dialog,a11yhelp,about,basicstyles,blockquote,button,toolbar,notification,clipboard,panelbutton,panel,floatpanel,colorbutton,menu,contextmenu,wysiwygarea,colordialog,docprops,docfont,elementspath,enterkey,entities,popup,filebrowser,find,floatingspace,listblock,richcombo,font,format,format_buttons,horizontalrule,htmlwriter,fakeobjects,iframe,iframedialog,image,indent,indentlist,justify,link,list,magicline,lineutils,widgetselection,widget,mathjax,maximize,pastefromexcel,pastefromword,pastetext,removeformat,resize,resizewithwindow,selectall,showblocks,showborders,sourcearea,sourcedialog,specialchar,stylescombo,syntaxhighlight,tab,table,tabletools,undo';
+    config.skin = 'bootstrapck';
+    // %REMOVE_END%
+
+    // Define changes to default configuration here.
+    // For complete reference see:
+    // http://docs.ckeditor.com/#!/api/CKEDITOR.config
+
+    // The toolbar groups arrangement, optimized for two toolbar rows.
+    config.toolbarGroups = [
+        { name: 'clipboard',   groups: [ 'clipboard', 'undo' ] },
+        { name: 'editing',     groups: [ 'find', 'selection', 'spellchecker' ] },
+        { name: 'links' },
+        { name: 'insert' },
+        { name: 'forms' },
+        { name: 'tools' },
+        { name: 'document',	   groups: [ 'mode', 'document', 'doctools' ] },
+        { name: 'others' },
+        '/',
+        { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] },
+        { name: 'paragraph',   groups: [ 'list', 'indent', 'blocks', 'align', 'bidi' ] },
+        { name: 'styles' },
+        { name: 'colors' },
+        { name: 'about' }
+    ];
+
+    // Remove some buttons provided by the standard plugins, which are
+    // not needed in the Standard(s) toolbar.
+    config.removeButtons = 'Underline,Subscript,Superscript';
+
+    // Set the most common block elements.
+    config.format_tags = 'p;h1;h2;h3;pre';
+
+    // Simplify the dialog windows.
+    config.removeDialogTabs = 'image:advanced;link:advanced';
+};
+*/
Index: openacs-4/packages/tlf-assignments/www/resources/tlf-assignment.js
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/tlf-assignment.js,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/www/resources/tlf-assignment.js	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,194 @@
+function _get() {
+    var elements = new Array();
+    for (var i = 0; i < arguments.length; i++) {
+        var element = arguments[i];
+        if (typeof element == 'string')
+            element = document.getElementById(element);
+        if (arguments.length == 1)
+            return element;
+        elements.push(element);
+    }
+    return elements;
+}
+
+//grade a submission
+  function grade(link, type) {
+        var grade = _get('grading').value;
+        var comment = _get('commentarea').value;
+           location.replace(link+'?m=grade&value='+grade+'&comment='+comment);
+        }
+        
+    function grade_all(link) {
+        var elem = document.getElementsByName('grading');
+        //collect all, bulk grade
+        //call a wf method with params
+        var values = new Array();
+        var names = new Array();
+        for (var i=0; i<elem.length;i++) {
+            //is active
+            var active = document.getElementById('tbl_submitted.'+elem[i].id);
+            if (active.checked) {
+                values.push(elem[i].id);
+                values.push(elem[i].value.replace("," , "."));
+            }
+        }
+        if (values == "") {
+            alert("nothing selected");
+            return;
+        }
+        var jqxhr = $.post(link + '?m=bulk_grade', 'values='+values, function() {
+             location.reload();
+        })
+            .fail(function() {
+                alert('Interner Fehler');
+            });
+    }
+        
+function enable_upload(id) {
+    var file2 = _get('id_'+id+'2');
+    var file3 = _get('id_'+id+'3');
+    var file4 = _get('id_'+id+'4');
+    var file5 = _get('id_'+id+'5');
+    if (file2.style.display=='none') {
+            file2.style.display='';
+    } else if (file3.style.display=='none') {
+            file3.style.display='';
+    } else if (file4.style.display=='none') {
+            file4.style.display='';
+    } else if (file5.style.display=='none') {
+            file5.style.display='';
+         _get('more_files').style.display='none';
+    } else {
+        _get('more_files').style.display='none';
+    }
+}
+
+function enable_ss() {
+    var file2 = document.getElementsByName('ss2');
+    var file3 = document.getElementsByName('ss3');
+    var file4 = document.getElementsByName('ss4');
+    var file5 = document.getElementsByName('ss5');
+    if (file2[0].type == 'hidden') {
+        file2[0].type = 'file';
+    } else if (file3[0].type == 'hidden') {
+        file3[0].type = 'file';
+    } else if (file4[0].type == 'hidden') {
+        file4[0].type = 'file';
+    } else if (file5[0].type == 'hidden') {
+        file5[0].type = 'file';
+    } else {
+        _get('more_files').style.display='none';
+    }
+}
+
+function conditional_unhide(input, conditional, selection) {
+    //generic unhide procedure for conditional form fields
+    var input = document.getElementById(input);
+    var chosenoption=input.options[input.selectedIndex].value;
+    var cond = conditional.split(".");
+    var sel = selection.split(".");
+                for (var i = 0; i < sel.length; i++) {
+                 var unhideme = document.getElementById(cond[i]);
+                 if (chosenoption == sel[i]) {
+                    unhideme.style.display='';
+                } else {
+                    unhideme.style.display='none';
+        }
+    }        
+}
+
+//date widget
+//adaptation of date widget to work with Wiki
+function showWikiCalendarWithDateWidget(id, fmt) {
+  var idM = document.getElementById(id+'.month');
+  var idD = document.getElementById(id+'.DD');
+  var idY = document.getElementById(id+'.YYYY');
+  var calval = idY.value+'-'+idM.value+'-'+idD.value;
+  if (calendar != null) {
+    // we already have one created, so just update it.
+    calendar.hide();            // hide the existing calendar
+    calendar.parseDate(calval, fmt); // set it to a new date
+  } else {
+    //this for loop is intended to wipe out visibility bugs
+    var ar = document.getElementsByTagName("select");
+    for (var i = ar.length; i > 0;) {
+        ar[--i].style.visibility = "visible";
+    }
+    // first-time call, create the calendar
+    var cal = new Calendar(true, null, selectwidget, closeHandler);
+    calendar = cal;             // remember the calendar in the global
+    cal.setRange(2020, 2030);   // min/max year allowed
+    calendar.create();          // create a popup calendar
+    calendar.parseDate(calval, fmt); // set it to a new date
+  }
+  calendar.selM = idM;            // inform it about the input field in use
+  calendar.selD = idD;            // inform it about the input field in use
+  calendar.selY = idY;            // inform it about the input field in use
+  calendar.showAtElement(idM);   // show the calendar next to the input field
+  // catch mousedown on the document
+  Calendar.addEvent(document, "mousedown", checkCalendar);
+  return false;
+}
+
+function show_nf(user_id) {
+    _get('nf_'+user_id).style.display='';
+    _get('nfb_'+user_id).style.display='';
+    _get('nf_button_'+user_id).style.display='none';
+}
+
+function reset_form() {
+    
+    for(var i=0;i<document.forms.length;i++){
+        document.forms[i].reset();
+    }
+    
+}
+
+// Show/Hide Aufgabendetails
+$(document).ready(function() {
+    if ($("#aufgabenstellung").length > 0) {
+        var hideButton = $("#hideOptionsButton");
+        var showButton = $("#showOptionsButton");
+        var details = $("#aufgabendetails");
+        var divh = details[0].offsetHeight;
+
+    //     // check/init the Aufgabendetails Cookie
+    //     var collapseAufgabendetails_p = Cookies.get("Aufgabendetails-toggle");
+    //     if (!collapseAufgabendetails_p) {
+    //         Cookies.set("Aufgabendetails-toggle", 0, {
+    //                   path: "/",
+    //                   secure: theme_wu_secure_conn()
+    //           });
+    //         collapseAufgabendetails_p = 0;
+    //         details.css("height", divh);
+    //     } else if (collapseAufgabendetails_p == 1) {
+    //         details.css("height", "0px");
+    //     } else {
+    //         details.css("height", divh);
+    //     }
+
+    //     hideButton.click(function() {
+    //         hideButton.css("display", "none");
+    //         showButton.css("display", "block");
+    //         Cookies.set("Aufgabendetails-toggle", 1, {
+    //                   path: "/",
+    //                   secure: theme_wu_secure_conn()
+    //         });
+    //         $("#aufgabendetails").animate({
+    //             height: '0'
+    //         }, 200);
+    //     });
+
+    //     showButton.click(function() {
+    //         hideButton.css("display", "block");
+    //         showButton.css("display", "none");
+    //         Cookies.set("Aufgabendetails-toggle", 0, {
+    //             path: "/",
+    //             secure: theme_wu_secure_conn()
+    //         });
+    //         $("#aufgabendetails").animate({
+    //             height: divh
+    //         }, 200);
+    //     });
+     }
+});
Index: openacs-4/packages/tlf-assignments/www/resources/tlf-assignments.css
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/tlf-assignments.css,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/tlf-assignments/www/resources/tlf-assignments.css	22 Nov 2023 12:21:38 -0000	1.1
@@ -0,0 +1,645 @@
+/*.portlet {
+    border:none;
+}
+
+div.tlf_assignment_list .portlet {
+    border:none;
+}*/
+div.welcome-text {
+    margin-top:1em;
+}
+div.item-footer {
+    display: none;
+}
+#menubar {
+    margin-bottom:1em;
+}
+.navbar > .container {
+    margin-left:0;
+}
+
+/*.portlet-inner ul li, .portlet-wrapper ul li {
+	background:none;
+	padding-left:0;
+	} */
+/*#localmenu	.admin {
+	background-color:#f6f6f6;
+	}
+#localmenu	.swa {
+	background-color:#f3f8ff;
+	}
+#localmenu	a:hover {
+	background-color:transparent;
+	}
+.yui-skin-sam .yuimenuitem-selected {
+    background-color:#ddd;
+}*/
+
+.table {margin-bottom:1em;}
+/*.colgroup .left {width:6em;}*/
+
+.submission-title {
+    display:bock;
+    font-weight:bold;
+    border-bottom:2px solid #999;
+    clear:both;
+    padding-bottom:0.2em;
+}
+.submitter {
+    color:#666;
+    margin-bottom:0.5em;
+}
+
+
+.form-item-wrapper {
+    padding:0;
+}
+form.edit-mode-abgabe div.edit-mode .form-item-wrapper {
+    width:100%;
+   background: #e8f2ff; /* Old browsers */
+   background: rgb(232,242,255); /* Old browsers */
+background: -moz-linear-gradient(left, rgba(232,242,255,1) 0%, rgba(239,246,255,1) 100%); /* FF3.6+ */
+background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(232,242,255,1)), color-stop(100%,rgba(239,246,255,1))); /* Chrome,Safari4+ */
+background: -webkit-linear-gradient(left, rgba(232,242,255,1) 0%,rgba(239,246,255,1) 100%); /* Chrome10+,Safari5.1+ */
+background: -o-linear-gradient(left, rgba(232,242,255,1) 0%,rgba(239,246,255,1) 100%); /* Opera 11.10+ */
+background: -ms-linear-gradient(left, rgba(232,242,255,1) 0%,rgba(239,246,255,1) 100%); /* IE10+ */
+background: linear-gradient(left, rgba(232,242,255,1) 0%,rgba(239,246,255,1) 100%); /* W3C */
+filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e8f2ff', endColorstr='#eff6ff',GradientType=1 ); /* IE6-9 */
+
+}
+form.edit-mode-abgabe .form-item-wrapper {
+    display:table;
+}
+form.non-edit-mode .form-item-wrapper {
+    background-color:transparent;
+    /*border-top:1px dashed #ccc;*/
+    display:table;
+    width:100%;
+}
+form.non-edit-mode .form-label {
+    width:14em;
+    /*text-align:left;*/
+   background: rgb(232,242,255); /* Old browsers */
+background: -moz-linear-gradient(left, rgba(232,242,255,1) 0%, rgba(239,246,255,1) 100%); /* FF3.6+ */
+background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(232,242,255,1)), color-stop(100%,rgba(239,246,255,1))); /* Chrome,Safari4+ */
+background: -webkit-linear-gradient(left, rgba(232,242,255,1) 0%,rgba(239,246,255,1) 100%); /* Chrome10+,Safari5.1+ */
+background: -o-linear-gradient(left, rgba(232,242,255,1) 0%,rgba(239,246,255,1) 100%); /* Opera 11.10+ */
+background: -ms-linear-gradient(left, rgba(232,242,255,1) 0%,rgba(239,246,255,1) 100%); /* IE10+ */
+background: linear-gradient(left, rgba(232,242,255,1) 0%,rgba(239,246,255,1) 100%); /* W3C */
+filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e8f2ff', endColorstr='#eff6ff',GradientType=1 ); /* IE6-9 */
+}
+form.non-edit-mode .form-label.old {
+    background:transparent;
+}
+form.non-edit-mode .form-widget {
+    margin-left:15em;
+}
+.border {
+     border:1px solid #ccc;
+}
+/* .grey-shading {
+    background: rgb(229,229,229); 
+    background: -moz-linear-gradient(top, rgba(229,229,229,1) 0%, rgba(255,255,255,1) 100%); 
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(229,229,229,1)), color-stop(100%,rgba(255,255,255,1))); 
+    background: -webkit-linear-gradient(top, rgba(229,229,229,1) 0%,rgba(255,255,255,1) 100%); 
+    background: -o-linear-gradient(top, rgba(229,229,229,1) 0%,rgba(255,255,255,1) 100%); 
+    background: -ms-linear-gradient(top, rgba(229,229,229,1) 0%,rgba(255,255,255,1) 100%); 
+    background: linear-gradient(top, rgba(229,229,229,1) 0%,rgba(255,255,255,1) 100%); 
+    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e5e5e5', endColorstr='#ffffff',GradientType=0 ); 
+} */
+.form-shading {
+   background: rgb(232,242,255); /* Old browsers */
+background: -moz-linear-gradient(left, rgba(232,242,255,1) 0%, rgba(239,246,255,1) 100%); /* FF3.6+ */
+background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(232,242,255,1)), color-stop(100%,rgba(239,246,255,1))); /* Chrome,Safari4+ */
+background: -webkit-linear-gradient(left, rgba(232,242,255,1) 0%,rgba(239,246,255,1) 100%); /* Chrome10+,Safari5.1+ */
+background: -o-linear-gradient(left, rgba(232,242,255,1) 0%,rgba(239,246,255,1) 100%); /* Opera 11.10+ */
+background: -ms-linear-gradient(left, rgba(232,242,255,1) 0%,rgba(239,246,255,1) 100%); /* IE10+ */
+background: linear-gradient(left, rgba(232,242,255,1) 0%,rgba(239,246,255,1) 100%); /* W3C */
+filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e8f2ff', endColorstr='#eff6ff',GradientType=1 ); /* IE6-9 */
+}
+div.form-required-mark {
+    text-replace: "acs-templating.required" "";
+}
+/*Form error display */
+form .form-error {
+    margin:2em;
+    border:1px solid #C30000;
+    padding:0.3em;
+
+}
+
+/* for dnd stuff */
+div.candidate-selection div.workarea { padding-right: 10px; float:left; }
+div.candidate-selection div.workarea h3 { margin-top: 0px; margin-bottom: 0.5ex;}
+
+div.candidate-selection ul.region {
+    border: 1px solid gray;
+    position: relative;
+    width: 300px;
+    list-style: none;
+    margin:0;
+    padding:0;
+    /*
+       The bottom padding provides the cushion that makes the empty
+       list targetable.  Alternatively, we could leave the padding
+       off by default, adding it when we detect that the list is empty.
+   */
+    padding-bottom:3ex;
+}
+
+div.candidate-selection ul.region li {
+    margin: 1px;
+    cursor: move;
+}
+
+div.candidate-selection li.candidates {
+    background-color: #D1E6EC;
+    border: 1px solid #7EA6B2;
+    padding: 5px 15px;
+}
+
+div.candidate-selection li.selection {
+    background-color: #D8D4E2;
+    border: 1px solid #6B4C86;
+    padding: 5px 15px;
+}
+div.candidate-selection textarea {
+    display: none;
+}
+
+.candidate-selection {
+    /*width: 330px;*/
+    align-items: stretch;
+}
+.candidate-selection .workarea {
+    display: flex;
+    flex-direction: column;
+    justify-items: stretch;
+}
+.candidate-selection .workarea .region {
+    height: 100%;
+    padding-bottom: 10ex !important;
+}
+
+
+/* select Groups or members in Assignment Create Workflow */
+div#member_conditional, div#group_conditional {
+    clear:both;
+}
+div#member_conditional .form-widget, div#group_conditional .form-widget {
+    background: #e8f2ff; /* Old browsers */
+   background: rgb(232,242,255); /* Old browsers */
+background: -moz-linear-gradient(left, rgba(232,242,255,1) 0%, rgba(239,246,255,1) 100%); /* FF3.6+ */
+background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(232,242,255,1)), color-stop(100%,rgba(239,246,255,1))); /* Chrome,Safari4+ */
+background: -webkit-linear-gradient(left, rgba(232,242,255,1) 0%,rgba(239,246,255,1) 100%); /* Chrome10+,Safari5.1+ */
+background: -o-linear-gradient(left, rgba(232,242,255,1) 0%,rgba(239,246,255,1) 100%); /* Opera 11.10+ */
+background: -ms-linear-gradient(left, rgba(232,242,255,1) 0%,rgba(239,246,255,1) 100%); /* IE10+ */
+background: linear-gradient(left, rgba(232,242,255,1) 0%,rgba(239,246,255,1) 100%); /* W3C */
+filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e8f2ff', endColorstr='#eff6ff',GradientType=1 ); /* IE6-9 */
+height:300px;
+}
+div#member_conditional .workarea, div#group_conditional .workarea {
+    overflow:scroll;
+    /*height:300px;*/
+}
+div#member_conditional .workarea ul, div#group_conditional .workarea ul {
+    border:1px solid #666;
+    margin:0;
+    padding:0 0 3ex;
+}
+div#member_conditional .workarea ul li, div#group_conditional .workarea ul li {
+    list-style:none;
+}
+
+input[disabled='disabled'] {
+	display:none;
+}
+
+/*Fristen Kasten */
+.fristen {
+    padding:0.5em;
+    border:1px solid #ccc;
+    background-color:#f8f8f8;
+    margin-bottom:2em;
+    font-weight:normal;
+    color:#000;
+}
+.fristen .table {
+    margin:0;
+}
+/* Toggle Aufgabendetails - Overwrite YUI */
+div#aufgabenstellung {
+    width:100%;
+    background-color:#f8f8f8;
+    border:1px solid #ccc;
+    margin-bottom:2em;
+    padding:0;
+    overflow:hidden;
+}
+
+#aufgabendetails {
+    background-color:#f8f8f8;
+    overflow:scroll;
+}
+#aufgabendetails .table {
+    margin:0;
+    margin-bottom:0;
+    width:100%;
+}
+#aufgabendetails .table .colgroup.left {
+    width:14em;
+}
+#aufgabendetails .table .td {
+    padding:0.1em;
+}
+#aufgabendetails .table .td.left {
+    color:#003366;
+}
+ul.horizontal-list {
+     margin:0;
+     padding:0;
+     margin-left:0 !important;
+     overflow:hidden;
+}
+ul.horizontal-list li {
+    float:left;
+}
+ul.horizontal-list.render-angabe li {
+    padding-right:2em;
+}
+/********** Plagiarism check *************/
+ul.plag-check-details {
+    margin-left:20px;
+    font-size:85%;
+    color:#666;
+}
+ul.plag-check-details li {
+    list-style-type:none;
+}
+ul.plag-check-details a {
+    color:#666;
+    text-decoration:underline;
+}
+
+/*aufgaben neu Abgaben*/
+a.abgaben, div.abgaben, span.abgaben {
+    font-weight:normal;
+    display:table-cell;
+    background-image:url('/resources/tlf-assignments/images/notices.png');
+    background-repeat: no-repeat;
+    padding-left:20px;
+    padding-right:10px;
+}
+/*aufgaben neu Abgaben*/
+a.n10, div.n10, span.n10 {background-position:0 -250px;}
+a.n11, div.n11, span.n11 {background-position:0 -300px;}
+a.n12, div.n12, span.n12 {background-position:0 -350px;}
+a.n13, div.n13, span.n13 {background-position:0 -400px;}/*green*/
+
+
+span.notice {
+    font-weight:normal;
+    padding-right:1em;
+    background-image:url('/resources/tlf-assignments/images/notices.png');
+    background-repeat: no-repeat;
+    padding-left:55px;
+}
+span.notice-2fields, a.notice-2fields {
+    font-weight:normal;
+    padding-right:0.5em;
+    background-image:url('/resources/tlf-assignments/images/notices.png');
+    background-repeat: no-repeat;
+    padding-left:27px;
+    text-decoration:none;
+    background-color:transparent;
+}
+span.notice-3fields, a.notice-3fields {
+    font-weight:normal;
+    padding-right:0.5em;
+    background-image:url('/resources/tlf-assignments/images/notices.png');
+    background-repeat: no-repeat;
+    padding-left:40px;
+    text-decoration:none;
+    background-color:transparent;
+}
+span.notice-5fields, a.notice-5fields {
+    font-weight:normal;
+    padding-right:0.5em;
+    background-image:url('/resources/tlf-assignments/images/notices.png');
+    background-repeat: no-repeat;
+    padding-left:70px;
+    text-decoration:none;
+    background-color:transparent;
+}
+span.notice-1field, a.notice-1field {
+    font-weight:normal;
+    padding-right:0.5em;
+    background-image:url('/resources/tlf-assignments/images/notices.png');
+    background-repeat: no-repeat;
+    padding-left:12px;
+    text-decoration:none;
+    background-color:transparent;
+}
+
+a.accept-disclaimer-item-button {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/note_go.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.add, .add a, span.add,
+a.enable-opt-in, span.enable-opt-in {
+    background:transparent url(/resources/tlf-assignments/images/icons_famfamfam/add.png)no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.application-form-add {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/application_form_add.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.application-form-magnify {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/application_form_magnify.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.application_tile_vertical {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/application_tile_vertical.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.application_view_list {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/application_view_list.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.bin-empty, span.bin-empty {
+    background:transparent url(/resources/tlf-assignments/images/icons_famfamfam/bin_empty.png) no-repeat top left;
+    background-color:transparent;
+    padding-right:16px;
+    text-decoration:none;
+}
+a.bin-empty-l, span.bin-empty-l {
+    background:transparent url(/resources/tlf-assignments/images/icons_famfamfam/bin_empty.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:18px;
+    text-decoration:none;
+}
+a.blank, .blank a, span.blank {
+    background: transparent;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.chart-curve, .chart-curve a, span.chart-curve {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/chart_curve.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.chart-pie, .chart-pie a, span.chart-pie {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/chart_pie.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.clock, .clock a, span.clock {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/clock.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.cog, .cog a, span.cog {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/cog.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.cross, .cross a, span.cross {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/cross.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.database, .database a, span.database {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/database.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.disable-opt-in, span.disable-opt-in {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/delete.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.email, span.email,
+a.group-email {
+    background:transparent url(/resources/tlf-assignments/images/icons_famfamfam/email.png) no-repeat top left;
+    background-color:transparent;
+    padding-right:16px;
+    text-decoration:none;
+}
+a.email-l, span.email-l {
+    background:transparent url(/resources/tlf-assignments/images/icons_famfamfam/email.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:18px;
+    text-decoration:none;
+}
+a.eye, .eye a {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/eye.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.eye-closed, .eye-closed a {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/ma_eye_closed.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.excel-page, .excel-page a {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/page_excel.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.folder, .folder a, span.folder {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/folder.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.folder-brick, .folder-brick a, span.folder-brick {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/folder_brick.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.folder-lightbulb, .folder-lightbulb a, span.folder-lightbulb {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/folder_lightbulb.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.information, .information a, span.information {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/information.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.magnifier, .magnifier a, span.magnifier {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/magnifier.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.page-find, .page-find a {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/page_find.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.page-white-l {
+    background:transparent url(/resources/tlf-assignments/images/icons_famfamfam/page_white.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:16px;
+    text-decoration:none;
+}
+a.page-white-edit, span.page-white-edit {
+    background:transparent url(/resources/tlf-assignments/images/icons_famfamfam/page_white_edit.png) no-repeat top left;
+    background-color:transparent;
+    padding-right:16px;
+    text-decoration:none;
+}
+a.page-white-edit-l, span.page-white-edit-l {
+    background:transparent url(/resources/tlf-assignments/images/icons_famfamfam/page_white_edit.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:18px;
+    text-decoration:none;
+}
+a.page-white-get {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/page_white_get.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.page-white-magnify {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/page_white_magnify.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.page_white, .page_white a {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/page_white.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.page_white_acrobat, .page_white_acrobat a {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/page_white_acrobat.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.page_white_compressed, .page_white_compressed a {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/page_white_compressed.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.page_white_database, .page_white_database a {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/page_white_database.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.page_white_excel, .page_white_excel a {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/page_white_excel.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.page_white_picture, .page_white_picture a {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/page_white_picture.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.page_white_powerpoint, .page_white_powerpoint a {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/page_white_powerpoint.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.page_white_word, .page_white_word a {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/page_white_word.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.pdf, .pdf a, span.pdf {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/page_white_acrobat.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.pencil-add {
+    background:transparent url(/resources/tlf-assignments/images/icons_famfamfam/pencil_add.png) no-repeat top left;
+    background-color:transparent;
+    padding-right:16px;
+    text-decoration:none;
+}
+a.print-page, .print-page a {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/printer.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.report {
+    background:transparent url(/resources/tlf-assignments/images/icons_famfamfam/report.png) no-repeat top left;
+    background-color:transparent;
+    padding-right:16px;
+    text-decoration:none;
+}
+a.report_go {
+    background:transparent url(/resources/tlf-assignments/images/icons_famfamfam/report_go.png) no-repeat top left;
+    background-color:transparent;
+    padding-right:16px;
+    text-decoration:none;
+}
+a.page_go {
+    background:transparent url(/resources/tlf-assignments/images/icons_famfamfam/report_go.png) no-repeat top left;
+    background-color:transparent;
+    padding-right:16px;
+    text-decoration:none;
+}
+a.report_user {
+    background:transparent url(/resources/tlf-assignments/images/icons_famfamfam/report_user.png) no-repeat top left;
+    background-color:transparent;
+    padding-right:16px;
+    text-decoration:none;
+}
+a.user-add, .user-add a {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/user_add.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.user-delete, .user-delete a {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/user_delete.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
+a.tick, .tick a, span.tick {
+    background: transparent url(/resources/tlf-assignments/images/icons_famfamfam/tick.png) no-repeat top left;
+    background-color:transparent;
+    padding-left:20px;
+    text-decoration:none;
+}
Index: openacs-4/packages/tlf-assignments/www/resources/images/notices.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/notices.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons/16_einzelaufgabe.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons/16_einzelaufgabe.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons/16_gruppenaufgabe.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons/16_gruppenaufgabe.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/accept.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/accept.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/anchor.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/anchor.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_cascade.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_cascade.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_double.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_double.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_form.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_form.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_form_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_form_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_form_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_form_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_form_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_form_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_form_magnify.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_form_magnify.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_get.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_get.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_home.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_home.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_key.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_key.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_lightning.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_lightning.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_osx.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_osx.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_osx_terminal.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_osx_terminal.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_put.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_put.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_side_boxes.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_side_boxes.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_side_contract.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_side_contract.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_side_expand.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_side_expand.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_side_list.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_side_list.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_side_tree.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_side_tree.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_split.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_split.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_tile_horizontal.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_tile_horizontal.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_tile_vertical.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_tile_vertical.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_view_columns.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_view_columns.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_view_detail.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_view_detail.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_view_gallery.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_view_gallery.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_view_icons.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_view_icons.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_view_list.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_view_list.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_view_tile.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_view_tile.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_xp.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_xp.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_xp_terminal.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/application_xp_terminal.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_branch.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_branch.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_divide.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_divide.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_down.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_down.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_in.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_in.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_inout.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_inout.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_join.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_join.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_left.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_left.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_merge.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_merge.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_out.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_out.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_redo.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_redo.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_refresh.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_refresh.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_refresh_small.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_refresh_small.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_right.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_right.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_rotate_anticlockwise.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_rotate_anticlockwise.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_rotate_clockwise.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_rotate_clockwise.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_switch.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_switch.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_turn_left.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_turn_left.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_turn_right.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_turn_right.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_undo.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_undo.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_up.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/arrow_up.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/asterisk_orange.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/asterisk_orange.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/asterisk_yellow.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/asterisk_yellow.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/attach.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/attach.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/award_star_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/award_star_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/award_star_bronze_1.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/award_star_bronze_1.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/award_star_bronze_2.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/award_star_bronze_2.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/award_star_bronze_3.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/award_star_bronze_3.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/award_star_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/award_star_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/award_star_gold_1.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/award_star_gold_1.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/award_star_gold_2.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/award_star_gold_2.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/award_star_gold_3.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/award_star_gold_3.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/award_star_silver_1.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/award_star_silver_1.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/award_star_silver_2.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/award_star_silver_2.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/award_star_silver_3.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/award_star_silver_3.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/basket.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/basket.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/basket_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/basket_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/basket_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/basket_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/basket_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/basket_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/basket_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/basket_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/basket_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/basket_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/basket_put.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/basket_put.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/basket_remove.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/basket_remove.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bell.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bell.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bell_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bell_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bell_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bell_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bell_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bell_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bell_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bell_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bell_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bell_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bin.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bin.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bin_closed.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bin_closed.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bin_empty.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bin_empty.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bomb.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bomb.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/book.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/book.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/book_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/book_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/book_addresses.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/book_addresses.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/book_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/book_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/book_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/book_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/book_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/book_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/book_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/book_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/book_key.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/book_key.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/book_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/book_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/book_next.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/book_next.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/book_open.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/book_open.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/book_previous.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/book_previous.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/box.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/box.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/brick.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/brick.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/brick_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/brick_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/brick_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/brick_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/brick_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/brick_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/brick_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/brick_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/brick_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/brick_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/brick_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/brick_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bricks.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bricks.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/briefcase.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/briefcase.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bug.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bug.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bug_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bug_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bug_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bug_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bug_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bug_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bug_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bug_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bug_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bug_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bug_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bug_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/building.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/building.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/building_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/building_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/building_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/building_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/building_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/building_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/building_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/building_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/building_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/building_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/building_key.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/building_key.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/building_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/building_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_arrow_bottom.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_arrow_bottom.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_arrow_down.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_arrow_down.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_arrow_top.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_arrow_top.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_arrow_up.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_arrow_up.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_black.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_black.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_blue.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_blue.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_disk.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_disk.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_feed.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_feed.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_green.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_green.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_key.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_key.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_orange.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_orange.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_picture.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_picture.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_pink.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_pink.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_purple.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_purple.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_red.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_red.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_star.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_star.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_toggle_minus.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_toggle_minus.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_toggle_plus.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_toggle_plus.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_white.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_white.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_wrench.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_wrench.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_yellow.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/bullet_yellow.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cake.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cake.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calculator.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calculator.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calculator_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calculator_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calculator_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calculator_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calculator_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calculator_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calculator_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calculator_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calculator_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calculator_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calendar.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calendar.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calendar_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calendar_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calendar_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calendar_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calendar_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calendar_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calendar_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calendar_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calendar_view_day.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calendar_view_day.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calendar_view_month.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calendar_view_month.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calendar_view_week.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/calendar_view_week.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/camera.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/camera.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/camera_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/camera_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/camera_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/camera_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/camera_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/camera_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/camera_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/camera_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/camera_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/camera_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/camera_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/camera_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/camera_small.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/camera_small.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cancel.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cancel.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/car.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/car.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/car_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/car_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/car_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/car_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cart.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cart.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cart_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cart_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cart_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cart_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cart_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cart_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cart_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cart_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cart_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cart_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cart_put.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cart_put.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cart_remove.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cart_remove.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cd.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cd.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cd_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cd_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cd_burn.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cd_burn.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cd_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cd_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cd_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cd_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cd_eject.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cd_eject.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cd_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cd_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_bar.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_bar.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_bar_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_bar_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_bar_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_bar_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_bar_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_bar_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_bar_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_bar_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_bar_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_bar_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_curve.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_curve.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_curve_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_curve_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_curve_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_curve_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_curve_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_curve_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_curve_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_curve_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_curve_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_curve_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_curve_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_curve_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_line.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_line.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_line_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_line_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_line_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_line_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_line_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_line_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_line_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_line_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_line_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_line_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_organisation.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_organisation.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_organisation_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_organisation_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_organisation_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_organisation_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_pie.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_pie.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_pie_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_pie_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_pie_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_pie_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_pie_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_pie_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_pie_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_pie_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_pie_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/chart_pie_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/clock.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/clock.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/clock_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/clock_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/clock_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/clock_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/clock_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/clock_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/clock_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/clock_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/clock_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/clock_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/clock_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/clock_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/clock_pause.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/clock_pause.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/clock_play.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/clock_play.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/clock_red.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/clock_red.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/clock_stop.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/clock_stop.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cog.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cog.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cog_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cog_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cog_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cog_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cog_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cog_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cog_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cog_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cog_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cog_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/coins.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/coins.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/coins_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/coins_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/coins_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/coins_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/color_swatch.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/color_swatch.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/color_wheel.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/color_wheel.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/comment.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/comment.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/comment_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/comment_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/comment_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/comment_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/comment_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/comment_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/comments.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/comments.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/comments_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/comments_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/comments_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/comments_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/compress.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/compress.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/computer.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/computer.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/computer_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/computer_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/computer_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/computer_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/computer_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/computer_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/computer_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/computer_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/computer_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/computer_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/computer_key.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/computer_key.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/computer_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/computer_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/connect.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/connect.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/contrast.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/contrast.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/contrast_decrease.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/contrast_decrease.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/contrast_high.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/contrast_high.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/contrast_increase.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/contrast_increase.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/contrast_low.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/contrast_low.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_eject.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_eject.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_eject_blue.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_eject_blue.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_end.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_end.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_end_blue.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_end_blue.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_equalizer.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_equalizer.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_equalizer_blue.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_equalizer_blue.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_fastforward.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_fastforward.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_fastforward_blue.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_fastforward_blue.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_pause.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_pause.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_pause_blue.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_pause_blue.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_play.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_play.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_play_blue.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_play_blue.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_repeat.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_repeat.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_repeat_blue.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_repeat_blue.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_rewind.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_rewind.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_rewind_blue.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_rewind_blue.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_start.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_start.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_start_blue.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_start_blue.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_stop.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_stop.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_stop_blue.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/control_stop_blue.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/controller.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/controller.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/controller_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/controller_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/controller_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/controller_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/controller_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/controller_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/creditcards.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/creditcards.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cross.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cross.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/css.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/css.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/css_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/css_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/css_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/css_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/css_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/css_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/css_valid.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/css_valid.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cup.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cup.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cup_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cup_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cup_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cup_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cup_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cup_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cup_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cup_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cup_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cup_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cup_key.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cup_key.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cup_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cup_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cursor.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cursor.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cut.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cut.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cut_red.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/cut_red.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database_connect.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database_connect.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database_gear.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database_gear.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database_key.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database_key.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database_lightning.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database_lightning.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database_refresh.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database_refresh.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database_save.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database_save.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database_table.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/database_table.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/date.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/date.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/date_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/date_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/date_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/date_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/date_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/date_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/date_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/date_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/date_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/date_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/date_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/date_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/date_magnify.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/date_magnify.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/date_next.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/date_next.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/date_previous.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/date_previous.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/disconnect.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/disconnect.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/disk.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/disk.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/disk_multiple.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/disk_multiple.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/door.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/door.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/door_in.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/door_in.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/door_open.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/door_open.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/door_out.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/door_out.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drink.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drink.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drink_empty.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drink_empty.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_burn.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_burn.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_cd.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_cd.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_cd_empty.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_cd_empty.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_disk.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_disk.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_key.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_key.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_magnify.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_magnify.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_network.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_network.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_rename.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_rename.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_user.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_user.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_web.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/drive_web.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/dvd.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/dvd.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/dvd_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/dvd_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/dvd_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/dvd_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/dvd_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/dvd_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/dvd_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/dvd_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/dvd_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/dvd_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/dvd_key.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/dvd_key.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/dvd_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/dvd_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/email.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/email.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/email_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/email_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/email_attach.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/email_attach.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/email_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/email_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/email_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/email_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/email_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/email_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/email_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/email_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/email_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/email_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/email_open.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/email_open.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/email_open_image.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/email_open_image.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/emoticon_evilgrin.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/emoticon_evilgrin.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/emoticon_grin.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/emoticon_grin.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/emoticon_happy.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/emoticon_happy.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/emoticon_smile.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/emoticon_smile.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/emoticon_surprised.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/emoticon_surprised.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/emoticon_tongue.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/emoticon_tongue.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/emoticon_unhappy.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/emoticon_unhappy.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/emoticon_waii.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/emoticon_waii.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/emoticon_wink.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/emoticon_wink.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/error_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/error_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/error_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/error_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/error_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/error_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/exclamation.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/exclamation.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/eye.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/eye.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/feed.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/feed.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/feed_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/feed_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/feed_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/feed_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/feed_disk.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/feed_disk.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/feed_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/feed_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/feed_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/feed_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/feed_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/feed_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/feed_key.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/feed_key.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/feed_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/feed_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/feed_magnify.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/feed_magnify.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/female.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/female.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/film.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/film.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/film_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/film_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/film_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/film_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/film_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/film_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/film_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/film_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/film_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/film_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/film_key.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/film_key.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/film_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/film_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/film_save.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/film_save.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/find.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/find.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/flag_blue.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/flag_blue.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/flag_green.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/flag_green.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/flag_orange.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/flag_orange.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/flag_pink.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/flag_pink.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/flag_purple.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/flag_purple.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/flag_red.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/flag_red.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/flag_yellow.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/flag_yellow.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_bell.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_bell.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_brick.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_brick.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_bug.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_bug.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_camera.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_camera.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_database.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_database.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_explore.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_explore.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_feed.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_feed.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_find.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_find.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_heart.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_heart.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_image.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_image.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_key.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_key.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_lightbulb.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_lightbulb.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_magnify.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_magnify.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_page.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_page.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_page_white.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_page_white.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_palette.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_palette.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_picture.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_picture.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_star.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_star.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_table.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_table.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_user.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_user.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_wrench.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/folder_wrench.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/font.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/font.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/font_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/font_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/font_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/font_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/font_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/font_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/group.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/group.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/group_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/group_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/group_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/group_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/group_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/group_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/group_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/group_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/group_gear.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/group_gear.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/group_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/group_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/group_key.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/group_key.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/group_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/group_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/heart.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/heart.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/heart_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/heart_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/heart_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/heart_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/help.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/help.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/hourglass.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/hourglass.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/hourglass_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/hourglass_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/hourglass_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/hourglass_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/hourglass_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/hourglass_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/hourglass_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/hourglass_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/house.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/house.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/house_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/house_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/house_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/house_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/html.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/html.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/html_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/html_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/html_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/html_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/html_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/html_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/html_valid.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/html_valid.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/image.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/image.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/image_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/image_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/image_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/image_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/image_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/image_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/image_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/image_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/images.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/images.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/information.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/information.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ipod.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ipod.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ipod_cast.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ipod_cast.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ipod_cast_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ipod_cast_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ipod_cast_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ipod_cast_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ipod_sound.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ipod_sound.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/joystick.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/joystick.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/joystick_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/joystick_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/joystick_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/joystick_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/joystick_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/joystick_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/key.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/key.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/key_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/key_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/key_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/key_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/key_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/key_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/keyboard.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/keyboard.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/keyboard_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/keyboard_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/keyboard_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/keyboard_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/keyboard_magnify.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/keyboard_magnify.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/layers.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/layers.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/layout.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/layout.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/layout_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/layout_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/layout_content.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/layout_content.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/layout_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/layout_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/layout_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/layout_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/layout_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/layout_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/layout_header.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/layout_header.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/layout_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/layout_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/layout_sidebar.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/layout_sidebar.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lightbulb.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lightbulb.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lightbulb_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lightbulb_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lightbulb_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lightbulb_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lightbulb_off.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lightbulb_off.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lightning.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lightning.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lightning_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lightning_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lightning_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lightning_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lightning_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lightning_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/link_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/link_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/link_break.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/link_break.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/link_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/link_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/link_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/link_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/link_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/link_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/link_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/link_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lock.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lock.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lock_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lock_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lock_break.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lock_break.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lock_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lock_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lock_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lock_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lock_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lock_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lock_open.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lock_open.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lorry.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lorry.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lorry_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lorry_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lorry_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lorry_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lorry_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lorry_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lorry_flatbed.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lorry_flatbed.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lorry_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lorry_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lorry_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/lorry_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ma_eye_closed.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ma_eye_closed.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/magifier_zoom_out.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/magifier_zoom_out.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/magnifier.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/magnifier.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/magnifier_zoom_in.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/magnifier_zoom_in.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/male.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/male.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/map.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/map.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/map_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/map_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/map_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/map_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/map_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/map_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/map_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/map_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/map_magnify.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/map_magnify.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_bronze_1.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_bronze_1.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_bronze_2.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_bronze_2.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_bronze_3.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_bronze_3.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_bronze_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_bronze_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_bronze_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_bronze_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_gold_1.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_gold_1.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_gold_2.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_gold_2.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_gold_3.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_gold_3.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_gold_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_gold_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_gold_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_gold_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_silver_1.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_silver_1.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_silver_2.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_silver_2.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_silver_3.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_silver_3.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_silver_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_silver_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_silver_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/medal_silver_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/money.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/money.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/money_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/money_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/money_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/money_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/money_dollar.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/money_dollar.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/money_euro.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/money_euro.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/money_pound.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/money_pound.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/money_yen.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/money_yen.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/monitor.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/monitor.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/monitor_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/monitor_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/monitor_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/monitor_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/monitor_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/monitor_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/monitor_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/monitor_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/monitor_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/monitor_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/monitor_lightning.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/monitor_lightning.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/monitor_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/monitor_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/mouse.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/mouse.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/mouse_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/mouse_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/mouse_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/mouse_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/mouse_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/mouse_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/music.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/music.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/new.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/new.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/newspaper.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/newspaper.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/newspaper_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/newspaper_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/newspaper_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/newspaper_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/newspaper_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/newspaper_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/newspaper_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/newspaper_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/note.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/note.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/note_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/note_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/note_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/note_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/note_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/note_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/note_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/note_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/note_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/note_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/overlays.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/overlays.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/package.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/package.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/package_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/package_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/package_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/package_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/package_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/package_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/package_green.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/package_green.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/package_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/package_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_attach.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_attach.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_code.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_code.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_copy.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_copy.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_excel.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_excel.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_find.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_find.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_gear.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_gear.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_green.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_green.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_key.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_key.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_lightning.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_lightning.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_paintbrush.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_paintbrush.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_paste.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_paste.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_red.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_red.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_refresh.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_refresh.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_save.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_save.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_acrobat.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_acrobat.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_actionscript.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_actionscript.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_c.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_c.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_camera.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_camera.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_cd.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_cd.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_code.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_code.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_code_red.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_code_red.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_coldfusion.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_coldfusion.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_compressed.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_compressed.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_copy.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_copy.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_cplusplus.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_cplusplus.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_csharp.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_csharp.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_cup.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_cup.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_database.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_database.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_dvd.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_dvd.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_excel.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_excel.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_find.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_find.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_flash.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_flash.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_freehand.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_freehand.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_gear.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_gear.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_get.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_get.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_h.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_h.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_horizontal.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_horizontal.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_key.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_key.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_lightning.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_lightning.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_magnify.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_magnify.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_medal.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_medal.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_office.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_office.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_paint.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_paint.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_paintbrush.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_paintbrush.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_paste.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_paste.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_php.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_php.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_picture.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_picture.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_powerpoint.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_powerpoint.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_put.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_put.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_ruby.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_ruby.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_stack.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_stack.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_star.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_star.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_swoosh.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_swoosh.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_text.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_text.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_text_width.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_text_width.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_tux.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_tux.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_vector.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_vector.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_visualstudio.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_visualstudio.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_width.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_width.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_word.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_word.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_world.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_world.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_wrench.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_wrench.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_zip.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_white_zip.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_word.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_word.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_world.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/page_world.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/paintbrush.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/paintbrush.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/paintcan.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/paintcan.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/palette.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/palette.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/paste_plain.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/paste_plain.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/paste_word.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/paste_word.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/pencil.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/pencil.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/pencil_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/pencil_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/pencil_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/pencil_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/pencil_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/pencil_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/phone.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/phone.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/phone_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/phone_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/phone_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/phone_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/phone_sound.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/phone_sound.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/photo.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/photo.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/photo_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/photo_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/photo_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/photo_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/photo_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/photo_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/photos.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/photos.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/picture.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/picture.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/picture_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/picture_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/picture_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/picture_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/picture_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/picture_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/picture_empty.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/picture_empty.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/picture_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/picture_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/picture_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/picture_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/picture_key.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/picture_key.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/picture_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/picture_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/picture_save.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/picture_save.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/pictures.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/pictures.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/pilcrow.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/pilcrow.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/pill.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/pill.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/pill_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/pill_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/pill_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/pill_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/pill_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/pill_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/plugin.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/plugin.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/plugin_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/plugin_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/plugin_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/plugin_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/plugin_disabled.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/plugin_disabled.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/plugin_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/plugin_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/plugin_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/plugin_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/plugin_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/plugin_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/plugin_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/plugin_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/printer.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/printer.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/printer_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/printer_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/printer_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/printer_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/printer_empty.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/printer_empty.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/printer_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/printer_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/rainbow.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/rainbow.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/remove.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/remove.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/report.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/report.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/report_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/report_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/report_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/report_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/report_disk.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/report_disk.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/report_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/report_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/report_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/report_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/report_key.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/report_key.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/report_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/report_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/report_magnify.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/report_magnify.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/report_picture.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/report_picture.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/report_user.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/report_user.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/report_word.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/report_word.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/resultset_first.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/resultset_first.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/resultset_last.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/resultset_last.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/resultset_next.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/resultset_next.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/resultset_previous.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/resultset_previous.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/rosette.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/rosette.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/rss.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/rss.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/rss_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/rss_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/rss_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/rss_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/rss_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/rss_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/rss_valid.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/rss_valid.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ruby.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ruby.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ruby_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ruby_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ruby_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ruby_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ruby_gear.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ruby_gear.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ruby_get.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ruby_get.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ruby_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ruby_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ruby_key.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ruby_key.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ruby_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ruby_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ruby_put.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/ruby_put.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script_code.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script_code.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script_code_red.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script_code_red.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script_gear.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script_gear.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script_key.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script_key.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script_lightning.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script_lightning.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script_palette.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script_palette.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script_save.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/script_save.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server_chart.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server_chart.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server_compressed.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server_compressed.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server_connect.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server_connect.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server_database.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server_database.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server_key.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server_key.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server_lightning.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server_lightning.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server_uncompressed.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/server_uncompressed.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shading.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shading.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_align_bottom.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_align_bottom.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_align_center.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_align_center.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_align_left.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_align_left.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_align_middle.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_align_middle.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_align_right.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_align_right.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_align_top.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_align_top.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_flip_horizontal.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_flip_horizontal.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_flip_vertical.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_flip_vertical.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_group.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_group.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_handles.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_handles.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_move_back.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_move_back.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_move_backwards.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_move_backwards.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_move_forwards.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_move_forwards.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_move_front.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_move_front.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_rotate_anticlockwise.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_rotate_anticlockwise.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_rotate_clockwise.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_rotate_clockwise.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_square.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_square.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_square_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_square_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_square_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_square_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_square_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_square_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_square_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_square_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_square_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_square_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_square_key.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_square_key.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_square_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_square_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_ungroup.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shape_ungroup.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shield.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shield.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shield_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shield_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shield_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shield_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shield_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/shield_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sitemap.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sitemap.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sitemap_color.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sitemap_color.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sound.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sound.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sound_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sound_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sound_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sound_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sound_low.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sound_low.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sound_mute.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sound_mute.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sound_none.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sound_none.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/spellcheck.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/spellcheck.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sport_8ball.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sport_8ball.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sport_basketball.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sport_basketball.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sport_football.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sport_football.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sport_golf.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sport_golf.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sport_raquet.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sport_raquet.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sport_shuttlecock.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sport_shuttlecock.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sport_soccer.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sport_soccer.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sport_tennis.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sport_tennis.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/star.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/star.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/status_away.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/status_away.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/status_busy.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/status_busy.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/status_offline.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/status_offline.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/status_online.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/status_online.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/stop.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/stop.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/style.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/style.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/style_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/style_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/style_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/style_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/style_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/style_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/style_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/style_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sum.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/sum.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tab.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tab.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tab_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tab_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tab_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tab_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tab_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tab_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tab_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tab_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_gear.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_gear.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_key.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_key.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_lightning.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_lightning.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_multiple.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_multiple.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_refresh.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_refresh.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_relationship.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_relationship.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_row_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_row_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_row_insert.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_row_insert.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_save.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_save.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_sort.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/table_sort.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tag.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tag.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tag_blue.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tag_blue.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tag_blue_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tag_blue_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tag_blue_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tag_blue_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tag_blue_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tag_blue_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tag_green.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tag_green.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tag_orange.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tag_orange.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tag_pink.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tag_pink.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tag_purple.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tag_purple.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tag_red.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tag_red.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tag_yellow.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tag_yellow.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/telephone.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/telephone.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/telephone_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/telephone_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/telephone_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/telephone_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/telephone_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/telephone_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/telephone_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/telephone_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/telephone_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/telephone_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/telephone_key.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/telephone_key.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/telephone_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/telephone_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/television.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/television.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/television_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/television_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/television_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/television_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_align_center.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_align_center.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_align_justify.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_align_justify.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_align_left.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_align_left.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_align_right.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_align_right.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_allcaps.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_allcaps.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_bold.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_bold.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_columns.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_columns.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_dropcaps.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_dropcaps.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_heading_1.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_heading_1.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_heading_2.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_heading_2.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_heading_3.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_heading_3.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_heading_4.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_heading_4.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_heading_5.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_heading_5.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_heading_6.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_heading_6.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_horizontalrule.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_horizontalrule.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_indent.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_indent.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_indent_remove.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_indent_remove.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_italic.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_italic.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_kerning.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_kerning.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_letter_omega.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_letter_omega.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_letterspacing.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_letterspacing.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_linespacing.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_linespacing.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_list_bullets.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_list_bullets.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_list_numbers.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_list_numbers.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_lowercase.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_lowercase.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_padding_bottom.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_padding_bottom.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_padding_left.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_padding_left.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_padding_right.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_padding_right.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_padding_top.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_padding_top.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_replace.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_replace.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_signature.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_signature.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_smallcaps.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_smallcaps.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_strikethrough.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_strikethrough.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_subscript.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_subscript.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_superscript.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_superscript.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_underline.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_underline.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_uppercase.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/text_uppercase.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/textfield.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/textfield.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/textfield_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/textfield_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/textfield_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/textfield_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/textfield_key.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/textfield_key.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/textfield_rename.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/textfield_rename.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/thumb_down.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/thumb_down.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/thumb_up.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/thumb_up.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tick.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tick.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/time.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/time.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/time_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/time_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/time_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/time_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/time_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/time_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/timeline_marker.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/timeline_marker.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/transmit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/transmit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/transmit_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/transmit_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/transmit_blue.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/transmit_blue.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/transmit_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/transmit_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/transmit_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/transmit_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/transmit_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/transmit_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/transmit_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/transmit_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tux.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/tux.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/user.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/user.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/user_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/user_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/user_comment.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/user_comment.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/user_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/user_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/user_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/user_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/user_female.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/user_female.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/user_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/user_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/user_gray.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/user_gray.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/user_green.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/user_green.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/user_orange.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/user_orange.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/user_red.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/user_red.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/user_suit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/user_suit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/vcard.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/vcard.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/vcard_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/vcard_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/vcard_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/vcard_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/vcard_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/vcard_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/vector.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/vector.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/vector_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/vector_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/vector_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/vector_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/wand.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/wand.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/weather_clouds.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/weather_clouds.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/weather_cloudy.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/weather_cloudy.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/weather_lightning.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/weather_lightning.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/weather_rain.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/weather_rain.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/weather_snow.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/weather_snow.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/weather_sun.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/weather_sun.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/webcam.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/webcam.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/webcam_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/webcam_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/webcam_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/webcam_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/webcam_error.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/webcam_error.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/world.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/world.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/world_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/world_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/world_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/world_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/world_edit.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/world_edit.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/world_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/world_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/world_link.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/world_link.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/wrench.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/wrench.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/wrench_orange.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/wrench_orange.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/xhtml.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/xhtml.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/xhtml_add.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/xhtml_add.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/xhtml_delete.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/xhtml_delete.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/xhtml_go.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/xhtml_go.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/xhtml_valid.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/xhtml_valid.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/zoom.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/zoom.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/zoom_in.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/zoom_in.png,v
diff -u
Binary files differ
Index: openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/zoom_out.png
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tlf-assignments/www/resources/images/icons_famfamfam/zoom_out.png,v
diff -u
Binary files differ