NewsSystem

Dieser Bereich dient dazu, eure Tricks und Erweiterungen vorzustellen, damit diese auch andere Anwender nutzen können. // This area can be used to publish your tricks and extensions to the APF to be used by other developers.
Antworten
Benutzeravatar
Screeze
Beiträge: 1920
Registriert: 05.08.2009, 09:49:04
Kontaktdaten:

NewsSystem

Beitrag von Screeze » 16.06.2011, 16:53:38

Ich werde ein NewsSystem implementieren, und als extension einfügen, da ich mal vermute sowas wird öfter gebraucht.

Geplant ist:
  • Eine Taglib die einen Backend-Bereich einbindet, über den News erstellt, bearbeitet und gelöscht werden können.
  • Speicherung der News in Datenbank per GORM
  • Eine Taglib die das Frontend einbindet, welches die News geordnet nach Datum (aktuellstes oben) anzeigt
  • Mehrsprachigkeit von Back- und Frontend
Gibt's noch Anforderungen die euch wichtig wären?

Ich würde gerne einen Richtexteditor einfügen, beim erstellen und bearbeiten der News, aber ich weiß derzeit nicht welche zu empfehlen sind, und v.a. wie das mit der Integration ins APF aussieht Lizenztechnisch, das verschiebe ich erst mal nach hinten, aber wenn ihr Empfehlungen habt immer her damit.

Benutzeravatar
Screeze
Beiträge: 1920
Registriert: 05.08.2009, 09:49:04
Kontaktdaten:

Re: NewsSystem

Beitrag von Screeze » 19.06.2011, 12:16:18

Das ganze ist inzwischen implementiert und in der Sandbox getestet, ich integriere das noch vollständig in die Sandbox, und schreibe eine kurze Doku ins Wiki, dann würde ich das noch in 1.14 integrieren.

Als zusätzliches Feature ist noch dazugekommen, dass auf einer Webseite in verschiedenen Bereichen das Newssystem unabhängig voneinander verwendet werden kann. Hier habe ich, ähnlich wie es Christian beim Umgt-Login gemacht hat, die Möglichkeit geschaffen, bei der importdesign-Taglib noch das Attribut "app-ident" anzugeben. Ist keines angegeben wird der aktuelle Context als Key verwendet.

Auf diese Weise sind mehrere News-Instanzen im Front- und Backend möglich. Verwendet wird hierfür allerdings nur 1 DB-Tabelle, der Key wird in einer zusätzlichen Spalte gespeichert.

Desweiteren habe ich einen Config-Key angelegt, über den bestimmt werden kann ob den Newsautoren erlaubt ist HTML im Newstext zu verwenden - per Default ist das natürlich deaktiviert.
Wenn deaktiviert wird der Datenbankinhalt mit htmlentities() behandelt bevor er angezeigt wird.

Benutzeravatar
Screeze
Beiträge: 1920
Registriert: 05.08.2009, 09:49:04
Kontaktdaten:

Re: NewsSystem

Beitrag von Screeze » 19.06.2011, 18:24:17

Extension + Sandbox Integration (Install-Wizzard, Backend, Frontend) soeben mit RV 1365 ins SVN geladen.
Doku im Wiki schreib ich jetzt noch.


Benutzeravatar
dr.e.
Administrator
Beiträge: 4533
Registriert: 04.11.2007, 16:13:53

Re: NewsSystem

Beitrag von dr.e. » 26.06.2011, 17:56:17

Hallo Ralf,

fettes Merci, gute Arbeit! Beim ersten Ausprobieren habe ich gesehen, dass die Konfiguration der Datenbank mit "Sandbox-MySQL" im Wizzard statt "Sandbox-News" in der Datei DEFAULT_serviceobjects.ini angegeben wird. Das führt dann zu einem

Code: Alles auswählen

Uncaught exception!
Exception-ID: 	3d8c0d0decd5482ca9bbd839fc2b9f6e
Type: 	InvalidArgumentException
Message: 	[ConnectionManager::getConnection()] The given configuration section ("Sandbox-MySQL") does not exist in configuration file "DEFAULT_connections.ini" in namespace "core::database" for context "myapp"!
Number: 	256
File: 	D:\Apache2.2\htdocs\www\sandbox\apps\core\database\ConnectionManager.php
Line: 	120
STACKTRACE:
Call 	File 	Line
Frontcontroller->start() 	D:\Apache2.2\htdocs\www\sandbox\index.php 	19
Page->transform() 	D:\Apache2.2\htdocs\www\sandbox\apps\core\frontcontroller\Frontcontroller.php 	491
Document->transform() 	D:\Apache2.2\htdocs\www\sandbox\apps\core\pagecontroller\pagecontroller.php 	1049
Document->transform() 	D:\Apache2.2\htdocs\www\sandbox\apps\core\pagecontroller\pagecontroller.php 	1647
Document->transform() 	D:\Apache2.2\htdocs\www\sandbox\apps\core\pagecontroller\pagecontroller.php 	1647
Document->transform() 	D:\Apache2.2\htdocs\www\sandbox\apps\core\pagecontroller\pagecontroller.php 	1647
frontend_controller->transformContent() 	D:\Apache2.2\htdocs\www\sandbox\apps\core\pagecontroller\pagecontroller.php 	1636
APFObject->getDIServiceObject() 	D:\Apache2.2\htdocs\www\sandbox\apps\extensions\news\pres\documentcontroller\frontend_controller.php 	37
DIServiceManager::getServiceObject() 	D:\Apache2.2\htdocs\www\sandbox\apps\core\pagecontroller\pagecontroller.php 	707
DIServiceManager::getServiceObject() 	D:\Apache2.2\htdocs\www\sandbox\apps\core\service\DIServiceManager.php 	207
BaseMapper->setConnectionName() 	D:\Apache2.2\htdocs\www\sandbox\apps\core\service\DIServiceManager.php 	152
BaseMapper->createDatabaseConnection() 	D:\Apache2.2\htdocs\www\sandbox\apps\modules\genericormapper\data\BaseMapper.php 	188
ConnectionManager->getConnection() 	D:\Apache2.2\htdocs\www\sandbox\apps\modules\genericormapper\data\BaseMapper.php 	233
Ich vermute, der Wizzard-Controller müsste dahingehend überarbeitet werden.

Doku ist gut, den Code sehe ich mir im Laufe der Woche noch an.
Viele Grüße,
Christian

Benutzeravatar
Screeze
Beiträge: 1920
Registriert: 05.08.2009, 09:49:04
Kontaktdaten:

Re: NewsSystem

Beitrag von Screeze » 26.06.2011, 18:14:17

Mist alles hab ich getestet, nur nicht geprüft ob auch die angelegte Config der verwendeten entspricht.. Und da vom anderen Wizzard die Sandbox-MySQL sowieso angelegt war ist das nicht aufgefallen.
Das ist aber kein großes Problem, fehlerhaft ist lediglich die Config des GORM als DIServiceObject, in dieser ist die falsche Sektion angegeben. Ich lade gleich eine aktualisierte Config hoch.

edit: online mit 1373

Benutzeravatar
dr.e.
Administrator
Beiträge: 4533
Registriert: 04.11.2007, 16:13:53

Re: NewsSystem

Beitrag von dr.e. » 27.06.2011, 23:01:22

Thx, rockt! :)
Viele Grüße,
Christian

Benutzeravatar
dr.e.
Administrator
Beiträge: 4533
Registriert: 04.11.2007, 16:13:53

Re: NewsSystem

Beitrag von dr.e. » 28.06.2011, 22:10:30

Hi Ralf,

habe heute im Zug das Code-Review abgeschlossen und noch ein paar Stellen refactored. Kannst dir meine Änderungen mal ansehen. Im Wesentlichen habe ich gemeinsame Funktionen extrahiert und die Doku angepasst. Meinen Tests lokal zu urteilen passt auch danach alles. :roll:
Viele Grüße,
Christian

Coach83
Beiträge: 271
Registriert: 13.05.2010, 17:33:12
Kontaktdaten:

Re: NewsSystem

Beitrag von Coach83 » 07.11.2013, 07:42:10

Ich schlage folgende Änderung vor:
Momentan wird der Author (optional) als Feld direkt in der Tabelle News gespeichert. Eine Verknüpfung zur Tabelle User und damit das löschen und hinzufügen eines Authors zu einer News halte ich so für sinnvoller. was meint ihr?

Coach83
Beiträge: 271
Registriert: 13.05.2010, 17:33:12
Kontaktdaten:

Re: NewsSystem

Beitrag von Coach83 » 13.11.2013, 11:25:14

*push*

Benutzeravatar
jwlighting
Beiträge: 466
Registriert: 14.07.2010, 14:23:58
Wohnort: LK Oldenburg
Kontaktdaten:

Re: NewsSystem

Beitrag von jwlighting » 13.11.2013, 18:14:27

Bin ich prinzipiell bei dir.
Ich frage mich nur, ob die Erweiterung momentan noch von Screeze gepflegt wird / gepflegt werden kann.

Menschen irren - Politiker sind Menschen.
Für den Norddeutschen ist 1kW = 2 Pfund Schlick.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast