Interaktiver Semesterplan... wie/wo programmieren?

Rhinhold

Jerseymac
Registriert
01.03.05
Beiträge
452
Hallo alle miteinander,

leider muss ich mich jetzt auf ein Gebiet begeben, in welchem ich mich selber nur folgendermaßen beschreiben würde: Noob! :)


Folgendes Anliegen:

Ich bin von unserem Institut angefragt worden, ob ich mir vorstellen könnte, einen interaktiven Semesterplan (wg. Bachelor-Studiengang) für unsere Website, die ich betreuue, zu programmieren - finanziert natürlich aus Studiengebühren. :p

Der Semesterplan soll so aussehen, dass man die belegbaren Semster als Balken darstellt mit freien Slots, die durch die entsprechenden Bachelor-Module (Vorlesungen, Seminare, Tutorien, etc.) belegt werden sollen. Letztere liegen als Sammelsorium nebendran und sollen per Maus einfach in die Slots bewegt werden können (siehe auch Konzeptskizze im Anhang!).

Die eigentliche Herausforderung bei der Angelenheit ist, dass die Module teils sehr in sich verschachtelt und von einander abhängig sind. So lassen sich z.B. bestimmte Vorlesungen nur auswählen, wenn vorher ein übergeordnetes Modul ausgewählt wurde. Des Weiteren lassen sich bestimmte Module nur in bestimmte Semester einordnen. Besonders schwierig wird es, wenn ein Probant seinen Plan soweit fertiggestellt hat, aber nun doch noch ein paar Module verschieben möchte. Fasst er dann nämlich eines an, dass direkt abhängig von anderen Modulen ist (die z.B. unbedingt früher belegt werden müssen, als das angefasste), müssen diese entweder alle wieder "rausploppen" oder sich sonst irgendwie aufmerksam machen.

Fazit: Es gibt also sehr viele "if...then...else"-Skripte, die eingebaut werden müssten.


Jetzt die Frage:

Wie sollte ich, der von Flash und Co. nicht wirklich viel Ahnung, aber dafür Zeit hat, sich in diese Dinge einzuarbeiten, am Besten vorgehen und mit welchen Hilfsmitteln?

Reicht es bspw., Flash und AS3 zu erlernen? Oder empfiehlt es sich eher, eine RIA mithilfe von Adobe Flex o.ä. zu erstellen??

Was meint ihr dazu?

Ich bedanke mich schon mal im Voraus!! ;)
Viele Grüße
Rhinhold
 

Anhänge

  • konzept.jpg
    konzept.jpg
    24,7 KB · Aufrufe: 279

naich

Pomme d'or
Registriert
22.11.08
Beiträge
3.082
Also ich denke, das könnte ne schöne Flex-Anwendung werden.
Wobei ja Flex auch nur im Grunde genommen Flash und ActionScript ist, aber da einiges vereinfacht, was Formulargestaltung und so angeht.

Oder du machst es halt "traditionell" mit HTML und Javascript, wobei dies wegen dem Drag and Drop vielleicht etwas schririger werden könnte.
 

shadowman82

Kaiser Wilhelm
Registriert
29.01.06
Beiträge
179
...ich würd das mit AJAX machen!
Hab grad eine ähnliche Anwendung in der Uni programmiert und muss sagen das ich mich ein wenig in Ajax verliebt hab.
Als Framework würde ich Dir jQuery empfehlen. Vereinfacht das Scripten um Einiges!
Du musst aber schon ein wenig in PHP programmieren können!
 

Rhinhold

Jerseymac
Registriert
01.03.05
Beiträge
452
Also ich denke, das könnte ne schöne Flex-Anwendung werden.
Wobei ja Flex auch nur im Grunde genommen Flash und ActionScript ist, aber da einiges vereinfacht, was Formulargestaltung und so angeht.

Okay, danke! Damit bleibt also Flex weiterhin ein Thema.
Einzigstes Manko dabei nur: Ich besitze Flex nicht. Demnach hätte ich also quasi nur die Möglichkeit, das innerhalb der 30-Tage-Trial-Frist zu programmieren.

Evt. weiterer Haken: Sollten sich irgendwann die Inhalte ändern, können diese dann geändert werden, auch ohne das Flex vorhanden ist?

...ich würd das mit AJAX machen!
Hab grad eine ähnliche Anwendung in der Uni programmiert und muss sagen das ich mich ein wenig in Ajax verliebt hab.
Als Framework würde ich Dir jQuery empfehlen. Vereinfacht das Scripten um Einiges!
Du musst aber schon ein wenig in PHP programmieren können!.

Okay, danke für den Tip!

Du sagst, du hast eine ähnliche Anwendung geschrieben. Könnte man sich diese mal anschauen (also das Ergebnis)?
 

Macropolis

Tokyo Rose
Registriert
27.02.08
Beiträge
68
ich schließe mich shadowman82 an: mit jQuery und jQuery UI bekommst Du mehr als ausreichende Werkezuge an die Hand, um die Oberfläche zu basteln - da brauchst Du kein Flex und bist auch nicht dazu gezwungen, Adobe Geld in die Hand zu drücken.
Ein kleines Beispiel für Drag-&-Drop findest Du in den Demos von jQuery UI z.B. hier: http://jqueryui.com/demos/droppable/#photo-manager

Was Du serverseitig einsetzt (PHP, Python, ASP.NET), liegt ganz bei Dir.

HTH,

Macropolis
 
  • Like
Reaktionen: Rhinhold

Slashwalker

Winterbanana
Registriert
15.05.06
Beiträge
2.213
Für Flex muss man Adobe kein Geld geben. Das SDK kann man mit Eclipse nutzen ;)
 

Rhinhold

Jerseymac
Registriert
01.03.05
Beiträge
452
Okay, thx für die schnellen Antworten!! ;)

Sehe ich das also richtig, dass JQuery mir die Werkzeuge für die GUI anbietet, die wiederum über HTML/CSS/JavaScript eingebunden werden? Demnach müsste dann auch der eigentliche Programmcode in JavaScript programmiert werden, right?

@Macropolis: Also die Demo entspricht schon sehr genau dem, was wir uns vorstellen. Gerade auch die Mini-Buttons am unteren Rand. Wenn das Resultat am Ende so aussieht und funktioniert, dann haben wir mehr erreicht, als erhofft. :)

@Slashwalker: Danke für den Tipp! Ich hatte auch irgendwie in Erinnerung, dass Eclipse da eine Rolle spielt... FDT ist dazu die Alternative, oder habe ich da was falsch verstanden?
 
Zuletzt bearbeitet:

Bananenbieger

Golden Noble
Registriert
14.08.05
Beiträge
25.515
Flex würde ich dennoch nicht empfehlen. Dann lieber auf halbwegs offene Technologien setzen, die mit jedem Browser funktionieren und keine totalen Resourcenfresser sind.
 

BigDan

Granny Smith
Registriert
04.07.07
Beiträge
17
Ich wuerde auch eher fuer offene Technologien plaedieren. Fuer die GUI am besten JS. Dann is die Frage was du sonst so programmierst, fuer die BI kannst du dann entweder PHP nehmen oder komplette Frameworks. Das Problem scheint fast perfekt fuer Ruby on Rails zu sein. Damit solltest du das ganze ziemlich schnell geloest haben. Besonders auf der BI Seite.

Koennte mir vorstellen zB die Abhaengigkeiten in ner DB abzubilden und das ganze somit wartbarer zu machen. Aber das nur als einwurf!
 

naich

Pomme d'or
Registriert
22.11.08
Beiträge
3.082
Für Flex muss man Adobe kein Geld geben. Das SDK kann man mit Eclipse nutzen ;)

Das SDK selber ist frei, soweit ich weiß. Aber um einen komfortablen grafischen Editor zu haben, mit dem du nicht den ganzen Code per Hand schreiben musst, brauchst du immer noch den kostenpflichtigen Flex-Builder (soweit ich weiß).
Und dieser Builder basiert auf Eclipse...

Aber für das Problem des Thread-Erstellers ist sicher Javascript auch die etwas bessere Alternative.
 

Rhinhold

Jerseymac
Registriert
01.03.05
Beiträge
452
Okay, ich habe nun sowohl bei jQuery als auch bei RoR meine Nase reingesteckt und musste feststellen, dass mir da weite Teile in Puncto Verständnis und Logiken fehlen. Daher meine Frage an alle:

Welche Kenntnisse und Verständnisse sollte man intus haben, um mit diesen Frameworks wirklich arbeiten zu können (außer HTML/CSS/JavaScript)? PHP? ...

@danielgoehl: Okay, danke für den Tip mit Ruby on Rails! Dass die Sache am Ende noch wartbar ist, ist wünschenswert, aber nicht unbedingt erforderlich. Wenn das also machbar ist, auch ohne das ein möglicher Nachfolger meiner Wenigkeit gleich Unmengen an Lernstoff vor sich hat, dann ist das eine feine Sache. RoR werde ich mir demnach mal anschauen. Zufälligerweise habe ich dazu sogar eine Video-Einführung in Griffweite. ;)
 
Zuletzt bearbeitet:

naich

Pomme d'or
Registriert
22.11.08
Beiträge
3.082
Du musst halt wissen, wo die Daten herkommen sollen. Und sollen die Pläne auch evt. abgespeichert werden? Das wäre erstmal interessant.

Da wirst du wohl kaum drumherum kommen, dich mit Datenbanken und serverseitige Sprachen zu beschäftigen.

Ich würde dir auf Jeden Fall PHP empfehlen, weil das recht einfach ist, und auf so gut wie jedem Webserver läuft! Allerdings musst du dann auch für die Datenbankabfragen SQL lernen - ich weiß nicht, inwieweit Ruby on Rails einem da die Arbeit abnimmt.
 

BigDan

Granny Smith
Registriert
04.07.07
Beiträge
17
Wenn man rails nutzt muss man immer noch das Konzept der genutzten DB verstehen und kennen. Jedoch, im Gegensatz zu PHP nimmt RoR einem sehr viel Arbeit beim "holen" der Daten ab. Dafuer gibt es auch PHP Frameworks, aber ich persoehnlich finde Rails angenehmer. Dazu kommt das man unter Rails auch Meta Programmierung betreiben kann, was uU eine grosse Hilfe bei komplexen problemen sein kann!

Wenn man pure PHP nutzt, muss man sich alles "zu Fuss" besorgen, es sei denn man nutzt ein Framework. Dann kann man sich aber auch in Ruby einarbeiten. Es sei denn man is schon sehr erfahren in PHP
 

Bananenbieger

Golden Noble
Registriert
14.08.05
Beiträge
25.515
Ich verwende ja symfony mit PHP. Alternativ kann man natürlich auch cakePHP, ezComponents, CodeIgniter und all die anderen PHP-Frameworks nehmen, aber symfony ist halt schon ziemlich das Nonplusultra im Bereich PHP-Frameworks.
 

Macropolis

Tokyo Rose
Registriert
27.02.08
Beiträge
68
Ich werf' mal Django in die Runde ... nicht nur im universitären Umfeld ist Python im Kommen.

Macropolis
 

Rhinhold

Jerseymac
Registriert
01.03.05
Beiträge
452
Du musst halt wissen, wo die Daten herkommen sollen. Und sollen die Pläne auch evt. abgespeichert werden? Das wäre erstmal interessant.

Nein, abgespeichert werden müssen die Pläne nicht. Es soll am Ende lediglich möglich sein, einen Ausdruck vorzunehmen und evt. einen pdf-Auszug davon zu machen.

Ich möchte mich eigentlich soweit wie möglich aus dem Feld der CMS-Lösungen raushalten.

Es müsste doch eigentlich auch möglich sein, den Code komplett clientseitig ablaufen zu lassen (über JavaScript und dessen Framework-Lösungen), oder nicht?

Ansonsten mal wieder einen herzlichen Dank für die Anregungen und Tipps!! ;)
 

naich

Pomme d'or
Registriert
22.11.08
Beiträge
3.082
Die Frage ist immer noch, wo deine Daten herkommen.
Soll es nur EIN Studienfach sein, wo alle Daten schon fest vorgegeben sind, und sich auch nicht so schnell ändern?
Dann ist es sicherlich möglich, alles clientseitig per Javascript machen zu lassen. (Ausgenommen der Erzeugung eines Pdfs viell.)
Du musst dir halt überlegen, in welcher Datenstruktur du die ganzen Daten vorher in Javascript speichern willst (Arrays, evt. Objekte), und ob du das einfach für dein spezielles Fach codest, oder auch zusiehst, dass das ein wenig universeller wird und später auch noch halbwegs einfach geändert werden kann.

Ich weiß ja nicht, wie komplex die Pläne werden können, aber das Problem ist halt bei so ner Javascriptsache ohne Speicherung: Wenn nur ausversehen die Seite reloaded wird, oder der Browser abstürzt, dann ist alles Futsch. Aber wenn die Pläne nicht so groß werden, ist dies evt. verschmerzbar.

Ich denke du solltest dir erstmal grundlegend die Datenfrage klar werden lassen, bevor wir hier weitere serverseitige Skriptsprachen vorschlagen, die du evt. überhaupt nicht brauchen wirst.
 

Josa

Tydemans Early Worcester
Registriert
31.01.07
Beiträge
388
Das SDK selber ist frei, soweit ich weiß. Aber um einen komfortablen grafischen Editor zu haben, mit dem du nicht den ganzen Code per Hand schreiben musst, brauchst du immer noch den kostenpflichtigen Flex-Builder (soweit ich weiß).
Und dieser Builder basiert auf Eclipse...

Aber für das Problem des Thread-Erstellers ist sicher Javascript auch die etwas bessere Alternative.

Flex Builder in der Education Version ist kostenlos. Klick.
 

naich

Pomme d'or
Registriert
22.11.08
Beiträge
3.082
Besten Dank für die Info und den Link. Wusste ich noch nicht.