[{"data":1,"prerenderedAt":389},["ShallowReactive",2],{"docs-sopm-referenz":3},{"id":4,"title":5,"body":6,"category":379,"description":380,"draft":381,"extension":382,"meta":383,"navigation":297,"order":384,"path":385,"seo":386,"stem":387,"__hash__":388},"docs\u002Fdocs\u002Fsopm-referenz.md",".sopm-Referenz",{"type":7,"value":8,"toc":369},"minimark",[9,13,26,31,84,87,91,138,145,148,163,176,182,190,215,219,234,253,257,317,345,349,365],[10,11,5],"h1",{"id":12},"sopm-referenz",[14,15,16,17,21,22,25],"p",{},"Das ",[18,19,20],"code",{},".sopm"," (Source OPM) ist die XML-Quelldatei eines Pakets. Beim Build wird daraus die ",[18,23,24],{},".opm","-Datei erzeugt. Diese Referenz beschreibt die gängigsten Elemente.",[27,28,30],"h2",{"id":29},"wurzelelement","Wurzelelement",[32,33,34,50],"table",{},[35,36,37],"thead",{},[38,39,40,45,47],"tr",{},[41,42,44],"th",{"align":43},"left","Fork",[41,46,30],{"align":43},[41,48,49],{"align":43},"Beispiel",[51,52,53,69],"tbody",{},[38,54,55,59,64],{},[56,57,58],"td",{"align":43},"OTOBO",[56,60,61],{"align":43},[18,62,63],{},"otobo_package",[56,65,66],{"align":43},[18,67,68],{},"\u003Cotobo_package version=\"1.1\">",[38,70,71,74,79],{},[56,72,73],{"align":43},"Znuny \u002F OTRS CE",[56,75,76],{"align":43},[18,77,78],{},"otrs_package",[56,80,81],{"align":43},[18,82,83],{},"\u003Cotrs_package version=\"1.0\">",[14,85,86],{},"Der Inhalt ist ansonsten identisch — deshalb ist ein Paket meist forkübergreifend portierbar.",[27,88,90],{"id":89},"pflichtelemente","Pflichtelemente",[92,93,98],"pre",{"className":94,"code":95,"language":96,"meta":97,"style":97},"language-xml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003CName>MyPackage\u003C\u002FName>                 \u003C!-- CamelCase, keine Leerzeichen -->\n\u003CVersion>1.0.0\u003C\u002FVersion>               \u003C!-- major.minor.patch -->\n\u003CFramework>11.0.x\u003C\u002FFramework>          \u003C!-- mind. eine, Format major.minor.x -->\n\u003CVendor>Example GmbH\u003C\u002FVendor>\n\u003CLicense>GPL-3.0\u003C\u002FLicense>\n\u003CDescription Lang=\"en\">...\u003C\u002FDescription>\n","xml","",[18,99,100,108,114,120,126,132],{"__ignoreMap":97},[101,102,105],"span",{"class":103,"line":104},"line",1,[101,106,107],{},"\u003CName>MyPackage\u003C\u002FName>                 \u003C!-- CamelCase, keine Leerzeichen -->\n",[101,109,111],{"class":103,"line":110},2,[101,112,113],{},"\u003CVersion>1.0.0\u003C\u002FVersion>               \u003C!-- major.minor.patch -->\n",[101,115,117],{"class":103,"line":116},3,[101,118,119],{},"\u003CFramework>11.0.x\u003C\u002FFramework>          \u003C!-- mind. eine, Format major.minor.x -->\n",[101,121,123],{"class":103,"line":122},4,[101,124,125],{},"\u003CVendor>Example GmbH\u003C\u002FVendor>\n",[101,127,129],{"class":103,"line":128},5,[101,130,131],{},"\u003CLicense>GPL-3.0\u003C\u002FLicense>\n",[101,133,135],{"class":103,"line":134},6,[101,136,137],{},"\u003CDescription Lang=\"en\">...\u003C\u002FDescription>\n",[139,140,142],"h3",{"id":141},"framework",[18,143,144],{},"\u003CFramework>",[14,146,147],{},"Deklariert die kompatiblen Framework-Versionslinien. Mehrere Zeilen sind erlaubt und der Schlüssel zur Fork-Kompatibilität:",[92,149,151],{"className":94,"code":150,"language":96,"meta":97,"style":97},"\u003CFramework Minimum=\"11.0.9\">11.0.x\u003C\u002FFramework>\n\u003CFramework>7.0.x\u003C\u002FFramework>\n",[18,152,153,158],{"__ignoreMap":97},[101,154,155],{"class":103,"line":104},[101,156,157],{},"\u003CFramework Minimum=\"11.0.9\">11.0.x\u003C\u002FFramework>\n",[101,159,160],{"class":103,"line":110},[101,161,162],{},"\u003CFramework>7.0.x\u003C\u002FFramework>\n",[14,164,165,166,169,170,175],{},"Das optionale Attribut ",[18,167,168],{},"Minimum"," erzwingt eine Mindest-Patch-Version. Mehr dazu im ",[171,172,174],"a",{"href":173},"\u002Fdocs\u002Fotobo-znuny-kompatibilitaet","Kompatibilitäts-Leitfaden",".",[27,177,179],{"id":178},"filelist",[18,180,181],{},"\u003CFilelist>",[14,183,184,185,189],{},"Listet ",[186,187,188],"strong",{},"alle"," im Paket enthaltenen Dateien mit Pfad und Unix-Berechtigung:",[92,191,193],{"className":94,"code":192,"language":96,"meta":97,"style":97},"\u003CFilelist>\n    \u003CFile Permission=\"660\" Location=\"Kernel\u002FConfig\u002FFiles\u002FXML\u002FMyPackage.xml\" \u002F>\n    \u003CFile Permission=\"644\" Location=\"var\u002Fhttpd\u002Fhtdocs\u002Fjs\u002FMyPackage.js\" \u002F>\n\u003C\u002FFilelist>\n",[18,194,195,200,205,210],{"__ignoreMap":97},[101,196,197],{"class":103,"line":104},[101,198,199],{},"\u003CFilelist>\n",[101,201,202],{"class":103,"line":110},[101,203,204],{},"    \u003CFile Permission=\"660\" Location=\"Kernel\u002FConfig\u002FFiles\u002FXML\u002FMyPackage.xml\" \u002F>\n",[101,206,207],{"class":103,"line":116},[101,208,209],{},"    \u003CFile Permission=\"644\" Location=\"var\u002Fhttpd\u002Fhtdocs\u002Fjs\u002FMyPackage.js\" \u002F>\n",[101,211,212],{"class":103,"line":122},[101,213,214],{},"\u003C\u002FFilelist>\n",[27,216,218],{"id":217},"abhängigkeiten","Abhängigkeiten",[92,220,222],{"className":94,"code":221,"language":96,"meta":97,"style":97},"\u003CPackageRequired Version=\"11.0.1\">ITSMCore\u003C\u002FPackageRequired>\n\u003CModuleRequired Version=\"3.0\">JSON::XS\u003C\u002FModuleRequired>\n",[18,223,224,229],{"__ignoreMap":97},[101,225,226],{"class":103,"line":104},[101,227,228],{},"\u003CPackageRequired Version=\"11.0.1\">ITSMCore\u003C\u002FPackageRequired>\n",[101,230,231],{"class":103,"line":110},[101,232,233],{},"\u003CModuleRequired Version=\"3.0\">JSON::XS\u003C\u002FModuleRequired>\n",[235,236,237,247],"ul",{},[238,239,240,243,244,246],"li",{},[18,241,242],{},"PackageRequired"," — ein anderes ",[18,245,24],{},"-Paket muss installiert sein.",[238,248,249,252],{},[18,250,251],{},"ModuleRequired"," — ein Perl-Modul (CPAN) muss vorhanden sein.",[27,254,256],{"id":255},"install-upgrade-sektionen","Install-\u002FUpgrade-Sektionen",[92,258,260],{"className":94,"code":259,"language":96,"meta":97,"style":97},"\u003CDatabaseInstall Type=\"post\">\n    \u003CTableCreate Name=\"my_table\">\n        \u003CColumn Name=\"id\" Required=\"true\" PrimaryKey=\"true\" AutoIncrement=\"true\" Type=\"INTEGER\" \u002F>\n        \u003CColumn Name=\"name\" Required=\"true\" Size=\"200\" Type=\"VARCHAR\" \u002F>\n    \u003C\u002FTableCreate>\n\u003C\u002FDatabaseInstall>\n\n\u003CCodeInstall Type=\"post\">\u003C![CDATA[\n    $Kernel::OM->Get('Kernel::System::MyModule')->Setup();\n]]>\u003C\u002FCodeInstall>\n",[18,261,262,267,272,277,282,287,292,299,305,311],{"__ignoreMap":97},[101,263,264],{"class":103,"line":104},[101,265,266],{},"\u003CDatabaseInstall Type=\"post\">\n",[101,268,269],{"class":103,"line":110},[101,270,271],{},"    \u003CTableCreate Name=\"my_table\">\n",[101,273,274],{"class":103,"line":116},[101,275,276],{},"        \u003CColumn Name=\"id\" Required=\"true\" PrimaryKey=\"true\" AutoIncrement=\"true\" Type=\"INTEGER\" \u002F>\n",[101,278,279],{"class":103,"line":122},[101,280,281],{},"        \u003CColumn Name=\"name\" Required=\"true\" Size=\"200\" Type=\"VARCHAR\" \u002F>\n",[101,283,284],{"class":103,"line":128},[101,285,286],{},"    \u003C\u002FTableCreate>\n",[101,288,289],{"class":103,"line":134},[101,290,291],{},"\u003C\u002FDatabaseInstall>\n",[101,293,295],{"class":103,"line":294},7,[101,296,298],{"emptyLinePlaceholder":297},true,"\n",[101,300,302],{"class":103,"line":301},8,[101,303,304],{},"\u003CCodeInstall Type=\"post\">\u003C![CDATA[\n",[101,306,308],{"class":103,"line":307},9,[101,309,310],{},"    $Kernel::OM->Get('Kernel::System::MyModule')->Setup();\n",[101,312,314],{"class":103,"line":313},10,[101,315,316],{},"]]>\u003C\u002FCodeInstall>\n",[14,318,319,320,323,324,323,327,323,330,333,334,337,338,340,341,344],{},"Gegenstücke: ",[18,321,322],{},"DatabaseUninstall",", ",[18,325,326],{},"CodeUninstall",[18,328,329],{},"DatabaseUpgrade",[18,331,332],{},"CodeUpgrade",". Der ",[18,335,336],{},"Type"," steuert den Zeitpunkt (",[18,339,92],{},"\u002F",[18,342,343],{},"post",").",[27,346,348],{"id":347},"werkzeuge","Werkzeuge",[235,350,351,358],{},[238,352,353,357],{},[171,354,356],{"href":355},"\u002Ftools\u002Fsopm-generator",".sopm-Generator"," — Manifest per Formular erzeugen",[238,359,360,364],{},[171,361,363],{"href":362},"\u002Ftools\u002Fsopm-validator",".sopm-Validator"," — bestehendes Manifest prüfen",[366,367,368],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":97,"searchDepth":110,"depth":110,"links":370},[371,372,375,376,377,378],{"id":29,"depth":110,"text":30},{"id":89,"depth":110,"text":90,"children":373},[374],{"id":141,"depth":116,"text":144},{"id":178,"depth":110,"text":181},{"id":217,"depth":110,"text":218},{"id":255,"depth":110,"text":256},{"id":347,"depth":110,"text":348},"Pakete","Referenz aller wichtigen .sopm-Elemente für OTOBO, Znuny und OTRS CE: Name, Version, Framework, Filelist, Abhängigkeiten und Install-Sektionen.",false,"md",{},20,"\u002Fdocs\u002Fsopm-referenz",{"title":5,"description":380},"docs\u002Fsopm-referenz","dAc6Z7EmoW2LjLfuKoZQV3sbHKBmGFleV-xRSUr6ACs",1785427360760]