BC 23.8 Tenant Media

17. September 2024 08:35

Hallo.

Ich habe ein Problem mit der Tabelle Tenant Media. Diese wächst schneller als alles andere an.
Und zwar sind dort enthalten sehr viele "application/octet-stream". Wenn ich da mal eins von exportiere sind es Rechnungen. Schaue ich mir die leute an die die Einträge in Tenant Media erstellen passt das auch. Alle die die etwas mit Rechnungen zu tun haben.

Nun zu meinem eigentlichen Problem. Ich weiß nicht wodurch die Einträge in der Tabelle erstellt werden.
Kann man die einfach löschen? Sind doch sicher im System verknüpft.

Z.B. für die PDFs die per Mail verschickt werden habe ich eine Aufbewahrungsrichtlinien aktiv die den Mail Ausgang und Gesendete Mails nach 6 Monaten löscht. Alles fein.


Ähnlich ist es bei einer Hand von "image/png" bzw. "image/jpeg". Wo sind die hinterlegt? Eine Rückverfolgung aus der Tabelle scheint mir nicht gegeben, oder übersehe ich etwas?
Gibt es irgendwelche Tricks oder Ansätze wie ich dem ganzen auf die Schliche kommen kann?

Re: BC 23.8 Tenant Media

17. September 2024 09:51

Die verwaisten Media Orphans kann man so löschen (seit v23.5):
Waldo: viewtopic.php?f=72&t=34500&p=152572&hilit=media+orphans#p152572
Stefano Demiliani: viewtopic.php?f=72&t=34500&p=151311&hilit=media+orphans#p151311

Re: BC 23.8 Tenant Media

17. September 2024 10:00

Hallo,

wo bewahrst du denn PDF's, bzw. In Zukunft E- Rechnungen revisionssicher auf, wenn du die nach 6 Monaten löschst?

Gruß Fiddi

Re: BC 23.8 Tenant Media

17. September 2024 15:59

Kowa hat geschrieben:Die verwaisten Media Orphans kann man so löschen (seit v23.5):
Waldo: viewtopic.php?f=72&t=34500&p=152572&hilit=media+orphans#p152572
Stefano Demiliani: viewtopic.php?f=72&t=34500&p=151311&hilit=media+orphans#p151311


Danke für deine Antwort.
Ich habe mir die Links angeschaut. Sehr gut schonmal für die verweisten Medien.
Jetzt ist es aber so, dass die Einträge in der Tenant Media ja nicht verweist sind. Ich weiß nur nich woher diese kommen. Mir fehlt nun so ein Bericht der wie der Orphant Media, der mir aber eine Tabelle/Seite erstellt wo welcher Beleg herkommt. Noch besser wäre es zu wissen durch was der Eintrag in der Tenant Media erstellt wurde. Mit irgendeinem Update, oder mit unserem Sieversmodul (Datevschnittstelle) muss das irgendwann mal angefangen haben. Man kann das irgendwie nicht debuggen.

Ich meine es gibt ja eine ID bei den Einträgen in Tenant Media. Gibt es eine FUnktion "Such mal alle Tabellen ab mit Feldern GUID ob du was passendes findest? Irgendwie muss ja auch das Tenant Media verwiesen werden, oder?

Re: BC 23.8 Tenant Media

17. September 2024 23:47

Verwaist bedeutet, dass sie keinen Bezug mehr auf irgendetwas haben (Waise = Orphan) und gelöscht werden können. Ein verwaister Datensatz verweist auf nichts, was noch brauchbar wäre bzw. auf etwas, was nicht mehr existiert.

Re: BC 23.8 Tenant Media

18. September 2024 07:28

Leider ist keiner meiner Vorredner auf deine Kernfrage eingegangen. Die Herkunft der Einträge sind datenbankweit alle Felder vom Typ Media bzw. MediaSet. Diese beinhalten im Kern Guids die auf die ID der Tabelle Tenant Media bzw. auch Tenant Media Set verweisen.

Siehe https://learn.microsoft.com/en-us/dynam ... on-records

Beachte bitte die obige Frage der Aufbewahrung, auch wenn die Tabelle diese Anforderung wohl nicht erfüllt.

Re: BC 23.8 Tenant Media

18. September 2024 08:05

SilverX hat geschrieben:Leider ist keiner meiner Vorredner auf deine Kernfrage eingegangen.

Für mich waren im Startbeitrag zwei Kernfragen, meine Antworten bezogen sich auf die zweite Zeile :wink: .
Aquator hat geschrieben:Ich weiß nicht wodurch die Einträge in der Tabelle erstellt werden.
Kann man die einfach löschen? Sind doch sicher im System verknüpft?

Re: BC 23.8 Tenant Media

18. September 2024 08:45

Kowa hat geschrieben:Verwaist bedeutet, dass sie keinen Bezug mehr auf irgendetwas haben (Waise = Orphan) und gelöscht werden können. Ein verwaister Datensatz verweist auf nichts, was noch brauchbar wäre bzw. auf etwas, was nicht mehr existiert.


Danke der Begrifflichkeit bin ich mir durchaus bewusst und auch was damit funktionell gemeint ist. Aus diesem Grunde schrieb ich ja erneut. Da ich NICHT verwaiste Dateien habe die erstellt werden und ich deren Herkunft suche, oder gar wie diese dort automatisch erstellt werden.


SilverX hat geschrieben:Leider ist keiner meiner Vorredner auf deine Kernfrage eingegangen. Die Herkunft der Einträge sind datenbankweit alle Felder vom Typ Media bzw. MediaSet. Diese beinhalten im Kern Guids die auf die ID der Tabelle Tenant Media bzw. auch Tenant Media Set verweisen.

Siehe https://learn.microsoft.com/en-us/dynam ... on-records

Beachte bitte die obige Frage der Aufbewahrung, auch wenn die Tabelle diese Anforderung wohl nicht erfüllt.


Danke für deine Antwort.
Also muss ich mich quasi über alle Tabellen wühlen und schauen ob es dort ein Feld "Media bzw. MediaSet" gibt. Und dort dann schauen ob ich die GUID finde. Wäre ja einfacher wenn MS einfach in der TenantMedia die Ursprungstabelle und den Feldnamen mit angeben würde.
Bei Media denkt man sofort an Bilder oder Videos. Aber ich vermute auch Dokumente sind gemeint, oder? Also sprich z.B. die Anhänge in den Verkaufsangeboten, Aufträgen, etc.

Was die Aufbewahrung angeht arbeiten wir mit Datev. Außerdem wird wohl die Buchhaltung und das Steuerbüro schon auf uns zukommen wenn wir was anders machen sollen. Bin auf die Frage anfangs nicht eingegangen um nicht von meiner eigentlichen Frage abzuweichen.

Re: BC 23.8 Tenant Media

18. September 2024 09:22

Aquator hat geschrieben:Also muss ich mich quasi über alle Tabellen wühlen und schauen ob es dort ein Feld "Media bzw. MediaSet" gibt. Und dort dann schauen ob ich die GUID finde.

Das musste man in den älteren Versionen, das erledigen ab 23.5 die neuen Funktionen (siehe Waldos Artikel) im
Codeunit "Media Cleanup". Davor gab es (auch erst ab BC 22) nur die Media.FindOrphans() Method bzw. MediaSet.FindOrphans() Method um das in AL umzusetzen.

Re: BC 23.8 Tenant Media

18. September 2024 09:25

Hallo,

Was die Aufbewahrung angeht arbeiten wir mit Datev. Außerdem wird wohl die Buchhaltung und das Steuerbüro schon auf uns zukommen wenn wir was anders machen sollen. Bin auf die Frage anfangs nicht eingegangen um nicht von meiner eigentlichen Frage abzuweichen.


Das Thema muss man sich unter dem Gesichtspunkt der E-Rechnungspflicht ab 1.1.2025 nochmal neu ansehen, da die empfangenen Rechnungen u.U. (sehr wahrscheinlich, da kein Papier mehr vorhanden, u.U. auch keine PDF) prüfungsrelevant für den Gdpdu- Export werden (könnten). Versand muss man prüfen.

Gruß Fiddi

Re: BC 23.8 Tenant Media

18. September 2024 12:26

Kowa hat geschrieben:
Aquator hat geschrieben:Also muss ich mich quasi über alle Tabellen wühlen und schauen ob es dort ein Feld "Media bzw. MediaSet" gibt. Und dort dann schauen ob ich die GUID finde.

Das musste man in den älteren Versionen, das erledigen ab 23.5 die neuen Funktionen (siehe Waldos Artikel) im
Codeunit "Media Cleanup". Davor gab es (auch erst ab BC 22) nur die Media.FindOrphans() Method bzw. MediaSet.FindOrphans() Method um das in AL umzusetzen.


Aber keine einzige Funktion davon liefert mir den "Verursacher" des Tenant Media Eintrags. Auch bringt mich der Waldos Artikel nicht weiter, da die immer nur Tenant Medias behandeln die "Überflüssig sind". Halt nicht mehr verbunden etc.
Ich weiß nicht ob du verstehst was ich möchte.

Ich möchte wissen woher das Tenant Media jeweils kommt!!! Was mir die Datenbank zumüllt. Es kann nicht sein das eine solche Tabelle ALLEIN in 2 Jahren fast zwei drittel der Gesamtgröße der Datenbank ausmacht. Tendentz steigend!!!
WO ist das Bild hinterlegt, WO ist der Anghang hinter, WO bist du ... liebe PDF ... denn hinterlegt. Damit ich dann feststellen kann: "Welche Funktion" legt dich liebe PDF denn dort überhaupt an OHNE das ich das möchte!!!
Darum geht es mir.

Nicht um Aufräumen, nicht um Versionsicherheit, nicht um Aufbewahrungsfristen, etc.

Re: BC 23.8 Tenant Media

19. September 2024 09:16

Die Stellen, wo Tenant Media in einem Repo verwendet wird, kann man z.B. so finden.
https://github.com/search?q=repo%3AStef ... &type=code

Es muss aber u.U. gar keine Funktion in einem unbekannten Programm irgendwo sein, die das bewirkt.
Es reicht z.B. ein Import einer einfachen Textdatei oder XML, und schon ist ein neuer Datensatz mit Mime Type text/plain bzw. text/XML mit der Pfadangabe der Quelldatei in Tenant Media da, ohne dass man diese Tabelle dabei manuell angesprochen hätte.

Re: BC 23.8 Tenant Media

1. Oktober 2024 17:05

Kowa hat geschrieben:Die Stellen, wo Tenant Media in einem Repo verwendet wird, kann man z.B. so finden.
https://github.com/search?q=repo%3AStef ... &type=code


Nur als Hinweis: Es ist möglich, dass nicht alle Stellen gefunden werden, da GitHub große Dateien (>350 KiB, z.B. SalesLine.Table.al) von der Suche ausschließt.

Re: BC 23.8 Tenant Media

2. Oktober 2024 08:36

dannoe hat geschrieben: da GitHub große Dateien (>350 KiB, z.B. SalesLine.Table.al) von der Suche ausschließt.

Ja, beim GitHub Code Search gibt es einige Beschränkungen: https://docs.github.com/en/search-github/github-code-search/about-github-code-search#limitations
Die mit UTF-8 ist leider bei Repos mit C/AL aktiv, die sind ja noch in Codepage 850 und müssen entsprechend konvertiert werden.
Aber jedes dortige öffentliche Repo kann man als lokalen Klon komplett durchleuchten. Die eigenen liegen ja ohnehin immer auch lokal vor.
Git Tools - Searching