Entwickeln ...

Hier geht es um die Programmierung von Opencaching.de - User mit Erfahrungen im Bereich PHP, MySQL, HTML, JavaScript, CSS werden hier ständig gesucht
Benutzeravatar
4_Vs
Vereinsmitglied
Vereinsmitglied
Beiträge: 3150
Registriert: 18.03.2012, 07:25

Hallo zusammen,

ich hab da mal wieder eine Frage :), die mit Sicherheit schon mal behandelt wurde, aber entweder habe ich es nicht verstanden, oder nicht mehr gefunden ::)

Warum bedarf es einem Entwicklerimages für die Entwicklung?

Wenn ich mbirth richtig verstanden habe, hat er einfach den "Quellcode" von Git runtergeladen, den DB-Dump von mic@ erhalten und ein paar systemspezifische Anpassungen vorgenommen.

Ist das keine praktikable Möglichkeit?

Anders herum gefragt - was ist das Problem beim Entwicklerimage? Ich habe im Kopf, dass es mit einer "automatischen" DB-Aktualisierung hängt, was spricht dagegen, das manuell anzustoßen?

Danke für die Erklärungen für einen Technik/Entwicklungs-Noob ;D
Whenever I try to plan something, it doesn't seems to work out. So why plan, it only leads to disappointment! (Eddie van Halen)
Benutzeravatar
mic@
Vereinsmitglied
Vereinsmitglied
Beiträge: 6631
Registriert: 04.12.2009, 00:31

Hier die Antwort eines anderes Noobs  ;)

Nach meinem Verständnis ist im git nur der Source-Code von opencaching.de enthalten.
Die Entwicklungsumgebung ist aber quasi ein Abzug eines Testservers, mit voreingestellten
Dingen wie WebServer, PHP-Umgebung, SQL-Datenbank usw. Alle diese Dinge sind ja NICHT
im git vorhanden, daher benötigt man dieses Image noch extra.
Benutzeravatar
4_Vs
Vereinsmitglied
Vereinsmitglied
Beiträge: 3150
Registriert: 18.03.2012, 07:25

Nun ja,

viele haben aber bereits eine LAMP o.ä. Umgebung laufen ...
Whenever I try to plan something, it doesn't seems to work out. So why plan, it only leads to disappointment! (Eddie van Halen)
Benutzeravatar
mic@
Vereinsmitglied
Vereinsmitglied
Beiträge: 6631
Registriert: 04.12.2009, 00:31

[quote="4_Vs"]viele haben aber bereits eine LAMP o.ä. Umgebung laufen ...[/quote]

Aber jedes LAMP sieht doch anders aus (unterschiedliche Versionen und Betriebssysteme).
Und durch das einheitliche Image bist Du sicher, genau dieselbe Umgebung zu nutzen, die
auch das Livesystem unter den Füßen hat. Gleichzeitig sind wahrscheinlich auch globale
Parameter und Pfade voreingestellt, ohne die Du das Testsystem erst gar nicht zum Fliegen
bringen könntest.
Schrottie

Das Entwicklungsimage war seinerzeit die einfachste Möglichkeit für jeden Entwickler das gleiche System bereitzustellen. Dabei galt dann: Herunterladen, starten, loslegen. Und das hat, abgesehen von Netzwerkproblemen bei Einzelnen, auch wunderfein funktioniert. Und wer ernsthaft entwickeln will, der sollte IMHO auch die doch eher geringfügigen Netzwerkprobleme durchaus in den Griff kriegen, schließlich ist das nichts anderes als einfach einen weiteren Rechner ins Heimnetzwerk zu hängen.

Das aktuelle Problem ist einfach, das im derzeit bestehenden Entwicklerimage eine uralte Codebasis und eine ebenso alte DB-Struktur enthalten ist. Das zu aktualisieren ist leider nicht so ganz einfach.

Seinerzeit hat Oliver einfach alle paar Monate ein neues Image bereitgestellt, damit konnte man dann direkt loslegen. Und das müsste jetzt jemand andere machen, vor allem jemand der ein möglichst sauberes Entwicklersystem hat, die meisten verbasteln das ja selbst noch ein wenig, so das eine Weitergabe nicht mehr möglich ist.

Ganz ohne das Image, also auf eigenem System ist auch eine Möglichkeit, dann sollte aber für alles was über kosmetische Kleinigkeiten hinausgeht ein CentOS (alternativ Redhat oder vergleichbare Distro) als Unterbau laufen und der Webserver ähnlich konfiguriert sein. Alles andere führt sonst nur zu Problemen, denn was auf dem heimischen Server tut, muss noch lange nicht auf unserem Server tun. Insbesondere dann, wenn hier irgendwelche Fertigmahlzeiten wie LAMP gekocht werden.

Sinnvoll wäre es, wenn jemand mit viel Ahnung von der Materie ein "Masterimage" anlegt und pflegt. Also ein Entwicklerimage auf den aktuellen Stand bringt, das dann so verteilt werden kann und der jeweilige Entwickler nur noch seinen Daten für git eintragen muss. Und bei jeder wesentlichen Änderung muss dann dieses Image aktualisiert und wieder zentral verfügbar gemacht werden. Und wenn ich Nils richtig verstanden habe, dann hat er sowas ja auch vor. Nur hat er derzeit auch genug andere Baustellen die ich deutlich höher priorisiert sehe.

Bis da also eine wirklich praktikable Lösung gefunden ist, sehe ich das derzeitige Entwicklerimage einfach als nette Übung für neue Entwickler. Denn wer wirklich ernsthaft entwickeln will, der sollte auch diese Hürde nehmen können.
Benutzeravatar
4_Vs
Vereinsmitglied
Vereinsmitglied
Beiträge: 3150
Registriert: 18.03.2012, 07:25

[quote="Schrottie"]
Sinnvoll wäre es, wenn jemand mit viel Ahnung von der Materie ein "Masterimage" anlegt und pflegt. Also ein Entwicklerimage auf den aktuellen Stand bringt, das dann so verteilt werden kann und der jeweilige Entwickler nur noch seinen Daten für git eintragen muss. Und bei jeder wesentlichen Änderung muss dann dieses Image aktualisiert und wieder zentral verfügbar gemacht werden. Und wenn ich Nils richtig verstanden habe, dann hat er sowas ja auch vor. Nur hat er derzeit auch genug andere Baustellen die ich deutlich höher priorisiert sehe.[/quote]
Das sehe ich anders. Für mich hat das Entwicklerimage eine emens hohe Priorität, sehe das aber nicht unbedingt bei Nils.

Ohne das Entwicklerimage haben wir weiterhin eine hohe Hürde in die Entwicklung einzusteigen. Denn ein PHP, MySQL, CSS, HTML 5 or what ever Entwickler muss nicht zwangsläufig Ahnung von Linux-Derivaten etc. haben.

Ich will mich jetzt nicht als absoluten Noob bezeichnen, hab schließlich vor 13 Jahren mal nen MCSE, LPIC 1 und CCNA gemacht, aber dennoch schaffe ich es nicht die Umgebung zu installieren. So beschränken sich meine Änderungen auf inhaltliche Pflege der Templateseiten, wobei ich mir mehr zutrauen würde, wenn ich denn Änderungen vernünftig testen könnte.

Wir haben doch zum Beispiel cmanie, der sich als Backup für Nils bereit erklärt - könnte er nicht vielleicht bei der Erstellung unterstützen? Oder Metrax? Oder dl6hbo?

LG
Micha
Whenever I try to plan something, it doesn't seems to work out. So why plan, it only leads to disappointment! (Eddie van Halen)
Schrottie

Versteh mich nicht falsch, ich sehe da auch enorm hohen Bedarf. Nur eben nicht bei Nils, der hat in der Tat deutlich wichtigere Aufgaben.

Wer das aber nun machen kann, vermag ich nicht zu sagen. Cmanie, Metrax oder dl6hbo sind sicherlich eine gute Idee, möglicherweise auch flopp. Aber solange keiner von denen ganz laut "hier" ruft...
Benutzeravatar
mic@
Vereinsmitglied
Vereinsmitglied
Beiträge: 6631
Registriert: 04.12.2009, 00:31

[quote="4_Vs"]..., aber dennoch schaffe ich es nicht die Umgebung zu installieren.[/quote]

Du bist nicht allein.
Auch ich habe mir an diesem Image die Zähne ausgebissen.
Aber so ist das eben: Manche scheitern schon am Image, andere an git (schiel rüber zu Schrottie)  ;)
Schrottie

[quote="mic@"]
Aber so ist das eben: Manche scheitern schon am Image, andere an git (schiel rüber zu Schrottie)  ;)
[/quote]

Also ich habe inzwischen beides im Griff. :p

Okay, das Image sicher nicht vollständig, aber für meine Zwecke vollkommen ausreichend. Aber klar, derzeit ist das Image nicht aktuell, das ist das Problem. So wie man es herunterladen kann, funktioniert es direkt nach dem Einbinden in VirtualBox problemlos, quasi von ganz allein. Aber eben auf einem uralten Stand. Die Hürde ist das Aktualisieren, denn da müssen ein paar Pfade angepasst werden. Und das ist nicht immer ganz leicht. Manch einer wird sich da leichter tun, wenn er eine grafische Oberfläche hat. Und die kann man sich ja installieren: http://seapre.wordpress.com/2012/01/28/yum-install-gnome-for-centos/

Tante Edith weiß hier noch zu berichten: Wir hatten sogar mal überlegt, das Image gleich mit einer Desktopumgebung zu bauen, sind dann aber davon abgekommen weil das Image damit nur unnötig aufgeblasen wird und ein ambitionierter Entwickler auch ohne weiteres ohne auskommt.
Zuletzt geändert von Schrottie am 28.01.2014, 11:22, insgesamt 1-mal geändert.
Benutzeravatar
bohrsty
Administrator
Administrator
Beiträge: 1367
Registriert: 30.03.2012, 22:54

[quote="Schrottie"]
[...]
Sinnvoll wäre es, wenn jemand mit viel Ahnung von der Materie ein "Masterimage" anlegt und pflegt. Also ein Entwicklerimage auf den aktuellen Stand bringt, das dann so verteilt werden kann und der jeweilige Entwickler nur noch seinen Daten für git eintragen muss. Und bei jeder wesentlichen Änderung muss dann dieses Image aktualisiert und wieder zentral verfügbar gemacht werden. Und wenn ich Nils richtig verstanden habe, dann hat er sowas ja auch vor. Nur hat er derzeit auch genug andere Baustellen die ich deutlich höher priorisiert sehe.
[...]
[/quote]

das masterimage an sich liegt schon seit monaten "quasi" fertig auf meinem notebook herum und wartet auf den einsatz... wir (Peter und ich) hatte damals einen (wie ich finde gar nicht so schlechten) plan erstellt, nach dem das image grundinstalliert wird, alle notwendigen pfade und pakete eingerichtet werden, die okapi installiert und eine leere datenbank auf dem zum erstellzeitpunkt aktuellen stand bereitgestellt wird... das ganze wird dann mit einer kleinen weboberflaeche garniert, die eine grundsaetzliche netzwerkeinrichtung ermoeglicht, das git auf den entwickler einrichtet und das lokale git auf den aktuellen stand bringt (und ein paar andere features haben sollte, die aber keine prio haben)... das befuellen der datenbank mit originalen caches zum testen sollte der xml-client uebernehmen, der eigentlich von sampiero ueberarbeitet werden sollte (http://redmine.opencaching.de/issues/25)...

da es an dem xml-client auf absehbare zeit wohl nicht weitergeht, sollten wir uns ueberlegen, ob wir das befuellen der datenbank nicht per dump machen koennen... also einen dump aus dem alten image aufpolieren, noch mal sicherstellen, dass keine persoenlichen daten enthalten sind, den ich dann dann auf stand bringe und neues image und dump koennen runtergeladen und verwendet werden...

bei mir sind leider gerade noch ein paar andere (nicht-oc) baustellen offen, die an termine gebunden sind, also koennte ich erst in ca. 14 tagen mich da wieder einfuchsen... sicherlich koennte auch ein anderer teile davon uebernehmen, aber leider ist das image einige gigabyte gross und wer schon mal versucht hat auch nur ein gb mit 1mbit der 16000er leitung hoch zu laden, wird wohl verstehen, dass ich das genau einmal mache, naemlich zur veroeffentlichung... ::)
gruss Nils (bohrsty)

Bild
Schrottie

Okay, danke für die kurze Erklärung. Ich schätze also mal, das die Sache nicht mal eben nebenbei gemacht ist, und schlimmer noch, zunächst nicht von jemand anderem übernommen werden kann. Oder?

[quote="bohrsty"]
bei mir sind leider gerade noch ein paar andere (nicht-oc) baustellen offen, die an termine gebunden sind, also koennte ich erst in ca. 14 tagen mich da wieder einfuchsen...
[/quote]

Lass Dich nicht hetzen. Ich denke mal auf ein paar Wochen kommt es jetzt auch nicht an. :)
Benutzeravatar
4_Vs
Vereinsmitglied
Vereinsmitglied
Beiträge: 3150
Registriert: 18.03.2012, 07:25

Nicht dass wir uns hier falsch verstehen - hetzen möchte ich auch keinen, daher hatte ich ja auch folgendes geschrieben (Fettung durch mich):
[quote="4_Vs"]
Das sehe ich anders. Für mich hat das Entwicklerimage eine emens hohe Priorität, sehe das aber nicht unbedingt bei Nils.
[/quote]
Da sich aber keiner von den "anderen" [quote="4_Vs"]
Wir haben doch zum Beispiel cmanie, der sich als Backup für Nils bereit erklärt - könnte er nicht vielleicht bei der Erstellung unterstützen? Oder Metrax? Oder dl6hbo?
[/quote] zurückmeldet, warten wir halt :)

LG
Micha
Whenever I try to plan something, it doesn't seems to work out. So why plan, it only leads to disappointment! (Eddie van Halen)
Schrottie

Cmanie und Metrax machen sich derzeit ohnehin etwas rar, aber dl6hbo ist jeden Tag hier und derzeit nirgends gebunden. Hmm... :)
dl6hbo

[quote="Schrottie"]
Cmanie und Metrax machen sich derzeit ohnehin etwas rar, aber dl6hbo ist jeden Tag hier und derzeit nirgends gebunden. Hmm... :)
[/quote]

Hmm, also gebunden bin schon, nur ans Wiki, wo für einen Lektor* derzeit nicht sooo viel zu tun ist.  Da müßte ich mich wohl mal mit Nils treffen, damit wir die Gigabytes geschaufelt kriegen.

*Lektor: Deswegen, weil ich das für beliebige deutschsprachige Texte am besten kann und es z.B. auch für die Zeitschrift meines Computerclubs regelmäßig mache.
mbirth

Also für Hardcore-Entwickler würde ich die Entwicklungsumgebung auch schon als erste Prüfung ansehen. Die müssten das eigentlich selbst hinbekommen - ohne VM. Ansonsten - wenn man z.B. Windows hat - ist so eine VM sehr nützlich. Wenn ihr da mal eine neue bauen wollt, nehmt bitte was von [url=http://www.vagrantup.com/]http://www.vagrantup.com/[/url] … der Vorteil liegt darin, dass das OC-Entwicklerimage dann nur noch wenige MB groß ist, weil das Basissystem automatisch von Vagrant herunter geladen wird und nur noch die für OC benötigten Einstellungen und Zusatztools im verteilten Download enthalten sein müssen.
Antworten