{"id":3514,"date":"2017-04-16T18:43:38","date_gmt":"2017-04-16T16:43:38","guid":{"rendered":"https:\/\/glancr.de\/?p=3514"},"modified":"2019-09-30T16:06:06","modified_gmt":"2019-09-30T14:06:06","slug":"ein-eigenes-modul-fuer-mirr-os-schreiben","status":"publish","type":"post","link":"https:\/\/glancr.de\/mirr-os\/fruehere-versionen\/ein-eigenes-modul-fuer-mirr-os-schreiben\/","title":{"rendered":"Ein eigenes Modul f\u00fcr mirr.OS schreiben"},"content":{"rendered":"[vc_row type=“in_container“ full_screen_row_position=“middle“ scene_position=“center“ text_color=“dark“ text_align=“left“ overlay_strength=“0.3″ shape_divider_position=“bottom“ bg_image_animation=“none“][vc_column column_padding=“no-extra-padding“ column_padding_position=“all“ background_color_opacity=“1″ background_hover_color_opacity=“1″ column_link_target=“_self“ column_shadow=“none“ column_border_radius=“none“ width=“1\/1″ tablet_width_inherit=“default“ tablet_text_alignment=“default“ phone_text_alignment=“default“ column_border_width=“none“ column_border_style=“solid“ bg_image_animation=“none“][vc_column_text]\n
Diese Anleitung bezieht sich auf die fr\u00fchere Version <v1.0<\/em>. mirr.OS one nutzt Ruby & VUE.JS.<\/strong><\/p>\n mirr.OS ist eine ver\u00e4nderte Variante des popul\u00e4ren\u00a0Betriebssystems Raspbian. Vereinfacht gesagt, siehst du nach dem Boot nichts anderes, als einen Browser ohne Scrollbar und Header sowie\u00a0eine Website. mirr.OS<\/a> gibt dir die M\u00f6glichkeit diese Website \u00fcber ein drittes\u00a0Ger\u00e4t mit einem Browser zu konfigurieren – zum Beispiel\u00a0\u00fcber ein Smartphone oder einen Laptop. Insofern ist die sichtbare Oberfl\u00e4che von mirr.OS eine Art „kleines Content-Management-System“.<\/p>\n Deshalb werden nicht nur „Linuxer“ mit mirr.OS ihren Spa\u00df haben, sondern vor allem\u00a0Webentwickler. Denn du brauchst im Wesentlichen nur\u00a0PHP, JS und CSS,<\/strong> um dein Modul zu schreiben.<\/p>\n Da mirr.OS f\u00fcr Privatanwender kostenlos ist, kannst du dir auch den Code der Module<\/a> anschauen. Dazu besuchst du am besten glancr auf gitlab und siehst dir an, wie andere Module aufgebaut sind. Au\u00dferdem findest du dort ein Dummy-Modul. Das ist der perfekte Ausgangspunkt f\u00fcr dich, um dich mit deinem eignen Modul zu befassen.<\/p>\nModule auf gitlab<\/span><\/i><\/a>\n Anwender bekommen\u00a0in der Regel zwei Oberfl\u00e4chen zu Gesicht. Einmal die Ansicht auf dem Smart Mirror (Frontend). Und dann die Config-Site, auf der alles einzustellen ist (Backend). Insofern musst du f\u00fcr dein Modul auch an beide Ebenen denken.<\/p>\n Mit Modulen l\u00e4sst sich mirr.OS an deine\u00a0pers\u00f6nlichen Vorlieben und Gewohnheiten anpassen. Zur Zeit werden sie mittels Datenupload als *.zip auf deinen Smart Mirror \u00fcbertragen. Ab dem n\u00e4chsten Major-Release wird das direkt aus\u00a0mirr.OS gehen.<\/p>\n Jedes Modul funktioniert unabh\u00e4ngig von anderen Modulen. Das bedeutet umgekehrt, kein Modul setzt ein anderes Modul voraus.<\/p>\n In dieser Datei nimmst du\u00a0allgemeine Daten zum Modul auf. Zum Beispiel Version, Verfasser, Download-Ort, usw. Du siehst was du brauchst, wenn du in den Code schaust.<\/p>\n Hier kommt alles rein, was die Ausgabe auf dem Smart Mirror betrifft. Dazu brauchst du in der Regel PHP, JS und ein wenig CSS, falls erforderlich. (Bitte verwende die von uns bereits vergebenen\u00a0Klassen f\u00fcr mirr.OS. Du findest sie hier<\/a>. Das ist uns so wichtig, da wir Konflikte mit anderen Modulen vermeiden m\u00f6chten und ein m\u00f6glichst gutes Nutzererlebnis schaffen wollen.)<\/p>\n Hier kommt alles rein was die Konfiguration deines Moduls betrifft. Funktioniert genauso wie das Frontend mit PHP, JS und CSS.<\/p>\n Dann gibts noch den Assets-Ordner. Hier kommen einerseits deine\u00a0Icons und\u00a0Grafiken f\u00fcr dein Modul rein. Andererseits ist das auch der Ort, an dem du deine Funktionen ablegst.<\/p>\nBeispiel-Module auf gitlab<\/h3>\n
Frontend und Backend<\/h3>\n
\n
Integration von Modulen<\/h3>\n
Struktur von Modulen<\/h3>\n
Info.json<\/h4>\n
Frontend<\/h4>\n
Backend<\/h4>\n
Assets<\/h4>\n
Locales<\/h4>\n