janma
Anmeldungsdatum: 12. Juni 2010
Beiträge: 147
|
Hey, Ich arbeite seit ca. 2 Wochen an einem in PHP geschriebenen Verwaltungssystem für Workshops an Schulen (anlässlich der "Kreativen Tage" an meiner Schule. Das System arbeitet mit MySQL und ich habe versucht, die Versionsanforderung für PHP "niedrig" zu halten. Es hat ein Frontend und ein Backend für Admins und Projektleiter. Das Backend Für Admins Bisher habe ich so einfache Dinge wie Export in CSV und html in Planung, ist soweit aber noch nicht fertig. (→ Später dann evtl. auch PDF und .ods, aber das nur, wenn ich mit dem Rest fertig bin) Auch den Mailverteiler muss ich noch ein bisschen reparieren. Sonst bietet das Backend die Möglichkeit, Projekte und Benutzer zu verwalten. Das Backend für Projektleiter Das Frontend Bisher nur einfache Projektauswahl und Erstellung, kleines Forum in Planung (teilw. auch schon in Umsetzung, aber das später). Das Login ist Sessionbasiert. Ich habe das Projekt noch nicht richtig veröffentlicht, da es noch zu unfertig ist, aber das kommt bald. Ich schreibe das hier deshalb, damit ich so ein bisschen Tipps und Feedbacks bekomme und ich mich an irgendwen fachkompetenten wenden kann, denn sonst wüste ich keine Anlaufstelle.
Fortsetzung folgt... Gruß janma
|
janma
(Themenstarter)
Anmeldungsdatum: 12. Juni 2010
Beiträge: 147
|
ahh.. ich glaube das hat so keinen sinn (ein Projekt vorzustellen ohne Projekt). Hier der Aktuelle Snapshot http://sourceforge.net/projects/d-enroll/files/d-enroll_snapshot1/d-enroll_vsnapshot1date.tar/download und hier ne Demo http://webnerd.bplaced.net/theschool/snap1/index.php Admin- Benutzername und Passowrt: admin Beispiel Log-In: Ben:
UForum
Pass:
ubuntu Gruß Janma ps: Da ich es für die Schule gecodet habe, ist es an einigen stellen noch schulbezogen, das wird die nächsten Stunden/ Tage noch verwaltbarer/ editierbar gemacht. Schaut euch trotzdem mal alles an, aber ich bin noch lange nicht fertig ☺ pps: da backend für projektleiter habe ich nochmal rausgenommen, das muss ich nochmal an sehr vieln stellen ändern Was ich als nächstes machen werde: Sicherheit des Installers erhöhen Ich freue mich über euer Feedback!
|
janma
(Themenstarter)
Anmeldungsdatum: 12. Juni 2010
Beiträge: 147
|
Ach ja: Falls ihr euch die Datenbank ansehen wollt/ Mal den Installer ausprobieren wollt: Ich hab da ne Datenbank eingerichtet, für demo- zwecke. Hier die Zugangsdaten: Ben: webnerd_snap1 Pas: snap Datenbank: webnerd_snap1 Sonst alles Standard. Gruß
janma
|
Jeanbarth
Anmeldungsdatum: 19. April 2011
Beiträge: 205
|
Moin, vorab, die Idee ist gar nicht mal schlecht! Finde dies echt gut! Vor allem befürworte ich es, wenn Linux Einzug in die Schule erhält! habe es gerade mal aus Spaß an der Freude ausprobiert und wollte ein neues Projekt erstellen. Einmal ist mir aufgefallen, dass sich Eingabefenster überschneiden (s. Anlage). Weiter habe ich das Projekt erstellt, dann kam der Hinweis, dass ich das Projekt "verwalten" kann mit dem Button "Weiter –>". Wenn ich aber darauf klicke kommt eine Fehlermeldung (s. Anlage). Jetzt befinde ich mich in einer, naja ich sag mal, Endlosschleife, immer wenn ich mich anmelde, kann ich nur noch auf dem "Weiter –>" Button klicken und dann kommt wieder die Fehlermeldung. Auch wenn ich mich aus und wieder einlogge, kommt die "Hauptmenü"-Ansicht nicht mehr"
- Bilder
|
janma
(Themenstarter)
Anmeldungsdatum: 12. Juni 2010
Beiträge: 147
|
Vielen Dank, dass du testest! Das sieht so aus, als ob ich die Eingabefelder zu statisch eingesetzt habe. Ich bin mit der Verwaltung noch nicht ganz durch. Ich habe da die Funktion noch nicht ganz fertig geschrieben. Heute Abend warscheinlich wird dieser Teil Form annehmen. Jeanbarth schrieb: vorab, die Idee ist gar nicht mal schlecht! Finde dies echt gut! Vor allem befürworte ich es, wenn Linux Einzug in die Schule erhält!
Ein harter Kampf, den ich sehr wahrscheinlich verlieren werde. Die Computeraustattung an unserer Schule war älter, aber nicht schlecht. Volle Apple Ausstattung und mit XServe, etc.
Jetzt wurde unser Computerraum neu ausgestattet. Diese "neue" Ausstattung sieht so aus: Windows Server 2008 R2, und 20 Win 7 Rechner ;( Viele Lehrer sind mit Mac nicht zurechtgekommen und Linux stößt in fast der ganzen Schule auf Ablehnung. Aber egal, nicht das Thema. Ich habe das für Linux konzipiert und so wird es auch durchgeführt PUNKT. 😉 Gruß
Janma
|
janma
(Themenstarter)
Anmeldungsdatum: 12. Juni 2010
Beiträge: 147
|
So. Diese kleinen Bugs sind behoben. Zeit für einen weiteren kleinen Snapshot: http://sourceforge.net/projects/d-enroll/files/d-enroll_snapshot2/d-enroll_vsnapshot2_25-06-2011_01.tar/download Und die Demo: http://webnerd.bplaced.net/theschool/snap2/ Anmeldedaten wie gehabt, ihr dürft euch aber auch mal registrieren, die Daten müssen nicht echt sein, es geht nur um den Test ☺. Gruß
Janma p.s: vieles ist noch unfertig, aber das wird mit der zeit alles noch kommen 😉
|
janma
(Themenstarter)
Anmeldungsdatum: 12. Juni 2010
Beiträge: 147
|
|
henrik7
Anmeldungsdatum: 12. März 2011
Beiträge: 116
|
Hach ja, Linux in der Schule... Meine Schule steigt jetzt komplett auf Apple um ☹ Ich bin ja leider nur ein kleiner Schüler, der nichts zu melden hat. Zum Projekt: Das hört sich sehr vielversprechend an! Wenn das fertig ist, werden sich einige Abnehmer finden, denke ich. Ich gehöre evtl. dazu, ich muss aber erst testen.
P.S.: Jamna: Bist du Schüler oder Lehrer? 😀
|
janma
(Themenstarter)
Anmeldungsdatum: 12. Juni 2010
Beiträge: 147
|
Schüler 😀 aber ich habe an meiner Schule ein kleines bisschen Einfluss gewonnen.
Das Projekt dauert noch ein bisschen, bis es zum konstruktiven Einsatz kommen kann, aber noch dieses Jahr schätze ich. Gerade stecke ich bei den Algorithmen zur automatischen Projektzuweisung und am Mailverteiler. Außerdem muss an einigen Stellen noch mit Layout und Sicherheit gefeilt werden. Ist halt noch sehr junges Projekt (jetzt bald drei Wochen oder so, gegen Weihnachten wird es voraussichtlich an meiner Schule konstruktiv zum Einsatz kommen) ☺ Ich mache diese Woche mal eine kleine Programmierpause, jetzt wo ich einen großen teil der Pfingstferien damit verbracht habe. Gruß Jnama
|
henrik7
Anmeldungsdatum: 12. März 2011
Beiträge: 116
|
Irgendwie muss ich auch Einfluss gewinnen. Für eine komplette Apple-IT würde ich mich schon fast schämen 😕 Ich glaube, der Kreis Steinburg (dem gehört das Gymnasium, auf das ich gehe) hat zu viel Geld. Ich wünsche dir auf jeden Fall weiterhin viel Erfolg, sowohl bei dem Projekt, als auch bei der Einflussnahme 😀
|
Logander4
Anmeldungsdatum: 12. November 2009
Beiträge: 156
|
Super Projekt - sieht auch geil aus!
Das wäre was für unsere Schule, die machen das alles noch per FirstClass Dashboard, etc.
Da würde sich sowas anbieten, oder sogar eine Groupware Software - aber nein, die Schule setzt ja auf NetMan! Auf gutes gelingen! Ich schau mir das Projekt mal an, vllt. gibt es da was, was man verbessern kann! EDIT: Ich würde gerne den Snap2 auf github.com hochladen, also als Repository.
Natürlich kannst du dir ein eigenes Projekt erstellen. Vllt. könnte ich dir ja bei dem Projekt helfen und 2. Developer werden. Ich würde das Repo, Wiki und das Issue Tracking betreuen.
|
Logander4
Anmeldungsdatum: 12. November 2009
Beiträge: 156
|
Allgemeines Feedback Dein Code im Backend ist in den meisten Fällen sauber und übersichtlich gestaltet. Du solltest dir angewöhnen, dass ein php vor das <? gehört(s. Code1) Der Code in der Installer und in der index.php, etc. ist ein bisschen unübersichtlich. Du arbeitest wenig mit Kommentaren. Spätestens in der Beta-Phase sollte dein Quellcode genug Kommentare enthalten, um von anderen gelesen werden zu können. (s. Code2a/b)
Das war es erstmal allgemein. Da ich schon lange nicht mehr in PHP programmiere, kann ich dir nur Rat bei einigen Dingen geben, dennoch beherrsche ich PHP immernoch. Codesektion Code1:
| <?php
// show over me!!!
?>
|
Code2a:
| <?php
include("header.php");
$worldname = $_GET["world"];
foreach ($row in $worldname)
{
echo "hello".$row;
}
?>
|
So bitte:
Code2b:
1
2
3
4
5
6
7
8
9
10
11
12
13 | <?php
//~index.php
// This file contains the generic core of this php package
include("header.php"); // Include the Header with the meta informations - not the site header!
$worldname = $_GET["world"]; // Worldname-Array with the entered Worlds to show
foreach ($row in $worldname)
{
echo "hello, ".$row;
}
?>
|
Das ist übersichtlicher. Außerdem solltest du dir noch eine Hilfsklasse anlegen. Diese erledigt allgemeine Sachen wie $_GET und $_POST, sowie das Session-Management. So sieht eine abgespeckte Version aus(ohne Sicherheitsüberprüfungen):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 | <?php
//~class.request.php
// Handles the $_GET, $_POST and $_SESSION-Requests
class request()
{
function __construct()
{
// some initial commands
}
function get($query) // Handles the Getvars
{
$this->getquery = $query;
return $_GET[$this->getquery];
}
function post($query) // Handles the Postvars
{
$this->postquery = $query;
return $_POST[$this->postquery];
}
function sessvar($query) // Handles the sessions
{
$this->sessquery = $query;
return $_SESSION[$this->sessquery];
}
}
?>
<!-- This is a new file!! -->
<?php
// New file! New story!
include("class.request.php"); // Request Handlers
$req = new request();
$worldname = $req->get("world");
$pwd = $req->post("pwd_md5");
$session_correct = $req->sessvar("activate");
// ... blablabla
?>
|
So ist es doch gleich etwas schöner. ABER: Dies ist reine Kritik, du brauchst sie nicht umsetzen, du brauchst dich nicht dazu äußern(was aber schön wäre), du brauchst sie auch nicht beachten!!! Das nur einer von mehreren Möglichkeiten, Code ist ungetestet aber generell funktionfähig. Mein Sprachstil orientiert sich am Sprachraum von PHP5. Ich hoffe ich habe dir geholfen. Du brauchst die Änderungen nicht alle sofort vornehmen! Wenn du sie überhaupt machen möchtest.
Aber dass es überhaupt funktioniert, dass ist doch schonmal gut.
Sauberes Stück Arbeit!. Mit freundlichen Grüßen, Maik
|
janma
(Themenstarter)
Anmeldungsdatum: 12. Juni 2010
Beiträge: 147
|
vielen dank! ich habe ja bereits an einigen stellen angefangen, solche kommentare zu setzten. es hat sich von einem miniwcript sehr schbell hochentwickelt, daher sind die ersten scripts ein bisschen unterentwickelt. ☺ Vielen dank, ich werde mich bald darum kümmern, bei dem nächsten snapshot wird das wohl drin sein. gruß janma
|
janma
(Themenstarter)
Anmeldungsdatum: 12. Juni 2010
Beiträge: 147
|
houps, war gerde mit dem handy drin, und habe den oberen Post nicht gelesen. Generell wäre ich für ein Upload auf gihub, jedoch würde ich das gerne organisieren, damit nicht wild irgendwelche quellen auftauchen 😉 mitlerweile wärest du der dritte entwickler, heuet hat sich bereits ein Kumpel von mir eingearbeitet. Momentan steht die Schule ein bisschen im weg, ich habe gerrde eineige sachen zu tun. Wir dachte, das wir nächste woche wieder loslegen. Dann können wir nochmal zu dritt zusammen dransitzen und das ganze perfektionieren 😉 Gruß janma
|
Logander4
Anmeldungsdatum: 12. November 2009
Beiträge: 156
|
Super! Dann überlasse ich dir die Arbeit mit github.com 😉 Ich habe einen richtigen Strato-Server! Dort könnten wir ohne Beschränkung durch bplaced.net die Features von PHP voll ausnutzen. Allerdings muss man auch darauf achten, dass diese Features nicht abhängig machen.(das System darf nicht von den Features abhängen). Ich würde den Installer gerne verbessern. Ich fertige einfach eine kleine eigene Version an. Dort werden dann auch Sachen aufgelistet, die benötigt werden, oder einfach nur Infos angezeigt. Ich installiere es zum austoben einfach mal auf meinen Server!
Ich schick dir die Adresse er PN!
|