Hi Zusammen,
wie werden im Contenido die Artikel identifiziert?
Es gibt es vielzahl von Kennungen (idart, idcatart, idcat, idartlang), aber was ist wirklich ihre Bedeutung?
Ich schreibe gerade ein Rating Modul und möchte die Artikel eindeutig identifizieren.
Weiß jemand mit welcher Kennung bzw. Kennungen man das machen kann?
Gruß aSoahc
Wie werden die Artikel identifiziert?
Re: Wie werden die Artikel identifiziert?
naja, jetzt wird es schon ein wenig komplizierter:
idcat: ID der Kategorie, in Bezug zum Client
idcatlang: ID der Kategorie Kategorie zur Sprache
idart: popelige Zuordnung der Artikel-ID zum Client
idartlang: ID des Artikels in Bezug von idart zur Sprache
idcatart: ID des Artikels zur Zuordnung von idcat zu idart
Da z.B. in der Tabelle <präfix>_code auf die idcatart referenziert wird und so alles aus der Tabelle rausfindbar ist, würde ich damit beginnen.
Ich denke, dass sich die Entwicler bei einem so elementaren Teil wie dem kompletten Code eines Artikels schon etwas gedacht haben, dass die rein auf idcatart referenzieren.
idcat: ID der Kategorie, in Bezug zum Client
idcatlang: ID der Kategorie Kategorie zur Sprache
idart: popelige Zuordnung der Artikel-ID zum Client
idartlang: ID des Artikels in Bezug von idart zur Sprache
idcatart: ID des Artikels zur Zuordnung von idcat zu idart
Da z.B. in der Tabelle <präfix>_code auf die idcatart referenziert wird und so alles aus der Tabelle rausfindbar ist, würde ich damit beginnen.
Ich denke, dass sich die Entwicler bei einem so elementaren Teil wie dem kompletten Code eines Artikels schon etwas gedacht haben, dass die rein auf idcatart referenzieren.
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)
Re: Wie werden die Artikel identifiziert?
Hi idea-tec,
vielen Dank für die Antwort. Hmmm .... in der Zwischenzeit hab ich das Eingabe-Modul mit idart und idcat aufgebaut.
Wahrscheinlich ist es nicht verkehrt auch noch idcatart aufzunehmen? Ist es aber sinnvoll, eine Tabelle mit so vielen ID's (idrating, idart, idcat, idcatart) aufzubauen?
Gruß aSoahc
vielen Dank für die Antwort. Hmmm .... in der Zwischenzeit hab ich das Eingabe-Modul mit idart und idcat aufgebaut.
Wahrscheinlich ist es nicht verkehrt auch noch idcatart aufzunehmen? Ist es aber sinnvoll, eine Tabelle mit so vielen ID's (idrating, idart, idcat, idcatart) aufzubauen?
Gruß aSoahc
Re: Wie werden die Artikel identifiziert?
"verkehrt" ist es ganz sicher nicht, je nachdem wie du die abfragen gestaltest und was du damit alles machen willst ist es sinnvoller oder eben weniger sinnvoll.
das kann man generell so nicht sagen, das kommt ganz auf den umfang, deine programmierung und den gesamtzweck des konzeptes und evtl. den mehrwert für andere appliktionen auf der seite an
das kann man generell so nicht sagen, das kommt ganz auf den umfang, deine programmierung und den gesamtzweck des konzeptes und evtl. den mehrwert für andere appliktionen auf der seite an
Zuletzt geändert von idea-tec am Mi 12. Aug 2009, 18:34, insgesamt 1-mal geändert.
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)
Warum gibt es so viele unterschiedliche IDs?
Mal eine Frage die mich ebenfalls beschäftigt.
Warum sind überhaupt soviele IDs vorhanden, die im prinzip alle dasselbe referenzieren.
Egal welche der IDs mir im Programm zur Verfügung steht, ich kann immer über alle möglichen Klassen und Funktionen jede andere zu dem Artikel gehörende ID herausfinden.
Das ist zwar schön und gut, aber manchmal ganz schön nervig. Da jede Funktion eine andere ID als Parameter braucht...
Wobei ich ja idartlang für die Referenzierung eines Artikels in einer bestimmten Sprache sinnvoll finde als "zusätzliche" id... aber idcatart? idart ist doch genauso eineindeutig (es gibt keine zwei Artikel mit der gleichen ID, selbst wenn anderer Mandant), oder irre ich mich da?
Vor allem macht diese ID-Vielfalt ja diese MEGA-JOINS in Datenbankabfragen notwendig, die gewiss für einige Performanceschwächen von Contenido verantwortlich sind.
Und für Suchmaschinen und Benutzer ist das auch nicht grade optimal (ja ich weiß hier gibts UrlBuilder!)
aber nur mal ein Extrembeispiel, was ich grade beim Googeln gefunden habe: da hat sich jemand ein Printversion-Script für Contenido geschrieben (zumindest lassen die IDs darauf schließen) und wusste überhaupt nicht welche IDs er nun als GET-Parameter übergeben sollte, also einfach alle!
ist ja nicht Ziel der Übung oder?
http://www.google.de/search?hl=de&safe= ... uche&meta=
Sucht man bei Google übrigens nach "idcat+idart+idcatart+idartlang", findet man sogar viele front-content.php Seiten, mit Angabe ALLER Ids!! naja duplicate content lässt dann aber grüßen
http://www.google.de/search?hl=de&safe= ... uche&meta=
Warum sind überhaupt soviele IDs vorhanden, die im prinzip alle dasselbe referenzieren.
Egal welche der IDs mir im Programm zur Verfügung steht, ich kann immer über alle möglichen Klassen und Funktionen jede andere zu dem Artikel gehörende ID herausfinden.
Das ist zwar schön und gut, aber manchmal ganz schön nervig. Da jede Funktion eine andere ID als Parameter braucht...
Wobei ich ja idartlang für die Referenzierung eines Artikels in einer bestimmten Sprache sinnvoll finde als "zusätzliche" id... aber idcatart? idart ist doch genauso eineindeutig (es gibt keine zwei Artikel mit der gleichen ID, selbst wenn anderer Mandant), oder irre ich mich da?
Vor allem macht diese ID-Vielfalt ja diese MEGA-JOINS in Datenbankabfragen notwendig, die gewiss für einige Performanceschwächen von Contenido verantwortlich sind.
Und für Suchmaschinen und Benutzer ist das auch nicht grade optimal (ja ich weiß hier gibts UrlBuilder!)
aber nur mal ein Extrembeispiel, was ich grade beim Googeln gefunden habe: da hat sich jemand ein Printversion-Script für Contenido geschrieben (zumindest lassen die IDs darauf schließen) und wusste überhaupt nicht welche IDs er nun als GET-Parameter übergeben sollte, also einfach alle!

http://www.google.de/search?hl=de&safe= ... uche&meta=
Sucht man bei Google übrigens nach "idcat+idart+idcatart+idartlang", findet man sogar viele front-content.php Seiten, mit Angabe ALLER Ids!! naja duplicate content lässt dann aber grüßen

http://www.google.de/search?hl=de&safe= ... uche&meta=
-
- Beiträge: 4316
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 4 Mal
- Kontaktdaten:
Re: Warum gibt es so viele unterschiedliche IDs?
Hallo high-end,
Und dass man sie einsetzt, um "Performanceschwächen" durch Mehrfachzugriffe auf die DB zu vermeiden?!
Gruß aus Franken
Ortwin
Diese Ids referenzieren nicht mal in der Praxis das Gleiche. Das steht aber schon weiter oben.high-end hat geschrieben:Warum sind überhaupt soviele IDs vorhanden, die im prinzip alle dasselbe referenzieren.

idea-tec hat geschrieben:idcat: ID der Kategorie, in Bezug zum Client
idcatlang: ID der Kategorie Kategorie zur Sprache
idart: popelige Zuordnung der Artikel-ID zum Client
idartlang: ID des Artikels in Bezug von idart zur Sprache
idcatart: ID des Artikels zur Zuordnung von idcat zu idart
Äääh wieso, dachte immer diese "MEGA-JOINS" wären wegen dem Zugriff auf verschiedene Tabellen vorhanden?!high-end hat geschrieben:Vor allem macht diese ID-Vielfalt ja diese MEGA-JOINS in Datenbankabfragen notwendig, die gewiss für einige Performanceschwächen von Contenido verantwortlich sind.
Und dass man sie einsetzt, um "Performanceschwächen" durch Mehrfachzugriffe auf die DB zu vermeiden?!
Den Suchmaschinen ist das egal ob da nun idcat oder idart oder was auch immer als Parameter angehängt wird, kyrillische Parameter in einer URL sind immer "nicht gerade optimal". Daher werden sie eigentlich bei allen CMS über eine MR-Funktion und eine .htaccess-Datei entsprechend gewandelt.high-end hat geschrieben:Und für Suchmaschinen und Benutzer ist das auch nicht grade optimal (ja ich weiß hier gibts UrlBuilder!)
Gruß aus Franken
Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Re: Warum gibt es so viele unterschiedliche IDs?
einige der ids sind auf eine unzureichende normalisierung zurückzuführen. andere kommen aus früheren zeiten und haben heute eigentlich keine bedeutung mehr. zum beispiel die idcatart, die es eigentlich nicht braucht, weil sie nicht eindeutiger ist als die idart, aus welcher die idcat schlüssig hervor geht. für dich als modulprogrammierer sind (für artikel) nur folgende ids von belang:high-end hat geschrieben:Warum sind überhaupt soviele IDs vorhanden, die im prinzip alle dasselbe referenzieren.
idart -> id für den artikel (wie du schon richtig festgestellt hast, geht aus dieser sowohl die idcat als auch die idclient hervor)
idcat -> id für die kategorie (redundant, wenn du die idart vorliegen hast, aus dieser geht ebenfalls die idclient hervor)
idartlang -> kombinierte id aus idcart und idlang
insgesamt haben wir eine vielzahl abhängiger schlüssel in contenido vorliegen, die es bei ordentlicher normalisierung nicht geben dürfte. wenn du also auf der sicheren seite sein willst, würde ich dir empfehlen, für die programmierung immer nur diejenigen ids zu verwenden, welche im einzelfall gerade ausreichend identifizierend sind:
kontext artikel sprachunabhängig: idart
kontext artikel sprachabhänig: idart und lang oder idartlang
kontext kategorie: idcat
kontext sprache: lang
kontext client: client
folgende kombinationen werden vorteilhafterweise nicht verwendet, da diese ungültig sein könnten:
idart und idcat
idart und client
idcat und client
idartlang und client
idartlang und lang
lang und client
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)