Wie werden die Artikel identifiziert?

Gesperrt
aSoahc
Beiträge: 49
Registriert: Fr 6. Feb 2009, 13:55
Kontaktdaten:

Wie werden die Artikel identifiziert?

Beitrag von aSoahc »

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
idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Re: Wie werden die Artikel identifiziert?

Beitrag von idea-tec »

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.
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!!! ;-)
aSoahc
Beiträge: 49
Registriert: Fr 6. Feb 2009, 13:55
Kontaktdaten:

Re: Wie werden die Artikel identifiziert?

Beitrag von aSoahc »

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
idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Re: Wie werden die Artikel identifiziert?

Beitrag von idea-tec »

"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
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!!! ;-)
high-end
Beiträge: 9
Registriert: Fr 15. Mai 2009, 13:00
Kontaktdaten:

Warum gibt es so viele unterschiedliche IDs?

Beitrag von high-end »

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! :D 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=
Oldperl
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?

Beitrag von Oldperl »

Hallo high-end,
high-end hat geschrieben:Warum sind überhaupt soviele IDs vorhanden, die im prinzip alle dasselbe referenzieren.
Diese Ids referenzieren nicht mal in der Praxis das Gleiche. Das steht aber schon weiter oben. :roll:
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
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.
Äääh wieso, dachte immer diese "MEGA-JOINS" wären wegen dem Zugriff auf verschiedene Tabellen vorhanden?!
Und dass man sie einsetzt, um "Performanceschwächen" durch Mehrfachzugriffe auf die DB zu vermeiden?!
high-end hat geschrieben:Und für Suchmaschinen und Benutzer ist das auch nicht grade optimal (ja ich weiß hier gibts UrlBuilder!)
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.

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
kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Re: Warum gibt es so viele unterschiedliche IDs?

Beitrag von kummer »

high-end hat geschrieben:Warum sind überhaupt soviele IDs vorhanden, die im prinzip alle dasselbe referenzieren.
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:

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)
Gesperrt