interna-users Mailing List for Interna
Status: Alpha
Brought to you by:
mplessing
You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
(11) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(3) |
Feb
(4) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Markus P. <web...@em...> - 2006-02-07 19:20:19
|
Michael Jaeger schrieb: >hallo, > >habe die installation von interna genau nach anleitung ausgef=FChrt und >folgende meldung erhalten: > >[...] > >woran kann da liegen???? > >danke im voraus > >michi > =20 > Die meisten Fehler sind auf die Namenswahl f=FCr Enumerations zur=FCckzuf=FChren. Die anderen resultieren wahrscheinlich dann wiederum aus den vorhergehenden. Mit der Java_version 1.5 wurde der von mir oftmals verwendete Variablenname "enum" als Schl=FCsselwort eingef=FChrt und so wird nach diesem Schl=FCssel- wort eben meist etwas anderes vom Compiler erwartet als er findet. In der aktuellen CVS-Version habe ich die Codeteile bereits ab- ge=E4ndert, die "enum" als Variablenname verwenden. Grunds=E4tzlich sollte aber die von Frank geratene Vorgehens- weise schon weiterhelfen. Gr=FC=DFe Markus |
From: Frank L. <fi...@Fh...> - 2006-02-07 18:29:54
|
On Mon, Feb 06, 2006 at 10:59:50PM +0100, Michael Jaeger wrote: > hallo, >=20 > habe die installation von interna genau nach anleitung ausgef=FChrt und > folgende meldung erhalten: >=20 > [root@nero Interna]# ./compile.sh > Generating classpath. > Compiling. > /home/michi/Daten/Stagepower/Interna/source/OrderScreen.java:2381: as o= f > release 1.5, 'enum' is a keyword, and may not be used as an identifier > (try -source 1.4 or lower to use 'enum' as an identifier) > Enumeration enum =3D codes.keys(); [...] > woran kann da liegen???? >=20 > danke im voraus Hallo Michi, die Installationsanleitung ist an der Stelle Vorraussetzungen: 'Java SDK ab Version 1.4.2_05' nicht ganz richtig, denn Interna compiliert zur Zeit ausschlie=DFlich mit JDK-1.4. Du kannst versuchen umzusetzen was dir der 1.5'er Compiler vorschl=E4gt, n=E4mlich in 'compile.sh', Zeile 10 beim Aufruf von javac den Schalter '-source 1.4' mitzugeben. Bitte berichte =FCber erfolge oder misserfolge, da ich das auch noch nich= t ausprobiert habe. > michi gruss f |
From: Michael J. <mi...@st...> - 2006-02-06 21:55:42
|
hallo, habe die installation von interna genau nach anleitung ausgeführt und folgende meldung erhalten: [root@nero Interna]# ./compile.sh Generating classpath. Compiling. /home/michi/Daten/Stagepower/Interna/source/OrderScreen.java:2381: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) Enumeration enum = codes.keys(); ^ /home/michi/Daten/Stagepower/Interna/source/OrderScreen.java:2382: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) while(enum.hasMoreElements()) { ^ /home/michi/Daten/Stagepower/Interna/source/OrderScreen.java:2383: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) String hold = enum.nextElement().toString(); ^ /home/michi/Daten/Stagepower/Interna/source/Preferences.java:878: as of release 1.5, 'enum' is a keyword, and may not be used as anidentifier (try -source 1.4 or lower to use 'enum' as an identifier) Enumeration enum = tmpHash.keys(); ^ /home/michi/Daten/Stagepower/Interna/source/Preferences.java:879: as of release 1.5, 'enum' is a keyword, and may not be used as anidentifier (try -source 1.4 or lower to use 'enum' as an identifier) while(enum.hasMoreElements()) { ^ /home/michi/Daten/Stagepower/Interna/source/Preferences.java:880: as of release 1.5, 'enum' is a keyword, and may not be used as anidentifier (try -source 1.4 or lower to use 'enum' as an identifier) Object key = enum.nextElement(); ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1047: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) for(Enumeration enum = table.keys();enum.hasMoreElements();a++) { ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1047: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) for(Enumeration enum = table.keys();enum.hasMoreElements();a++) { ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1048: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) String key = enum.nextElement().toString(); ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1181: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) for(Enumeration enum = products.keys();enum.hasMoreElements();a ++) { ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1181: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) for(Enumeration enum = products.keys();enum.hasMoreElements();a ++) { ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1182: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) rows[a][0] = enum.nextElement(); ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1254: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) for(Enumeration enum = table.keys();enum.hasMoreElements();a++) { ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1254: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) for(Enumeration enum = table.keys();enum.hasMoreElements();a++) { ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1255: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) String key = enum.nextElement().toString(); ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1350: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) for(Enumeration enum = table.keys();enum.hasMoreElements();a++) { ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1350: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) for(Enumeration enum = table.keys();enum.hasMoreElements();a++) { ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1351: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) String key = enum.nextElement().toString(); ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1443: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) for(Enumeration enum = countries.keys();enum.hasMoreElements();a ++) { ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1443: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) for(Enumeration enum = countries.keys();enum.hasMoreElements();a ++) { ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1444: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) rows[a][0] = enum.nextElement(); ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1531: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) for(Enumeration enum = table.keys();enum.hasMoreElements();a++) { ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1531: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) for(Enumeration enum = table.keys();enum.hasMoreElements();a++) { ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1532: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) String key = enum.nextElement().toString(); ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1605: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) for(Enumeration enum = table.keys();enum.hasMoreElements();a++) { ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1605: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) for(Enumeration enum = table.keys();enum.hasMoreElements();a++) { ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1606: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) String key = enum.nextElement().toString(); ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1688: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) for(Enumeration enum = products.keys();enum.hasMoreElements();a ++) { ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1688: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) for(Enumeration enum = products.keys();enum.hasMoreElements();a ++) { ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1689: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) rows[a][0] = enum.nextElement(); ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1764: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) for(Enumeration enum = table.keys();enum.hasMoreElements();a++) { ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1764: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) for(Enumeration enum = table.keys();enum.hasMoreElements();a++) { ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1765: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) String key = enum.nextElement().toString(); ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1854: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) for(Enumeration enum = table.keys();enum.hasMoreElements();a++) { ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1854: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) for(Enumeration enum = table.keys();enum.hasMoreElements();a++) { ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1855: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) String key = enum.nextElement().toString(); ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1939: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) for(Enumeration enum = products.keys();enum.hasMoreElements();a ++) { ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1939: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) for(Enumeration enum = products.keys();enum.hasMoreElements();a ++) { ^ /home/michi/Daten/Stagepower/Interna/source/StatisticsFrame.java:1940: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) rows[a][0] = enum.nextElement(); ^ /home/michi/Daten/Stagepower/Interna/source/TreeWithPopup.java:244: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) public void saveTree(BufferedWriter out, int level, Enumeration enum) { ^ /home/michi/Daten/Stagepower/Interna/source/TreeWithPopup.java:249: enum types must not be local enum.nextElement(); ^ /home/michi/Daten/Stagepower/Interna/source/TreeWithPopup.java:249: <identifier> expected enum.nextElement(); ^ /home/michi/Daten/Stagepower/Interna/source/TreeWithPopup.java:249: '{' expected enum.nextElement(); ^ /home/michi/Daten/Stagepower/Interna/source/TreeWithPopup.java:250: <identifier> expected enum.nextElement(); ^ /home/michi/Daten/Stagepower/Interna/source/TreeWithPopup.java:250: '{' expected enum.nextElement(); ^ /home/michi/Daten/Stagepower/Interna/source/TreeWithPopup.java:251: illegal start of type while(enum.hasMoreElements()) { ^ /home/michi/Daten/Stagepower/Interna/source/TreeWithPopup.java:251: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) while(enum.hasMoreElements()) { ^ /home/michi/Daten/Stagepower/Interna/source/TreeWithPopup.java:251: ';' expected while(enum.hasMoreElements()) { ^ /home/michi/Daten/Stagepower/Interna/source/TreeWithPopup.java:252: <identifier> expected lroot = (MyMutableTreeNode) enum.nextElement(); ^ /home/michi/Daten/Stagepower/Interna/source/TreeWithPopup.java:252: '{' expected lroot = (MyMutableTreeNode) enum.nextElement(); ^ /home/michi/Daten/Stagepower/Interna/source/TreeWithPopup.java:253: <identifier> expected hold = ""; ^ /home/michi/Daten/Stagepower/Interna/source/TreeWithPopup.java:254: illegal start of type for(int i=0;i<lroot.getLevel();i++) { ^ /home/michi/Daten/Stagepower/Interna/source/TreeWithPopup.java:257: <identifier> expected str = str.concat("\n").concat(hold).concat(lroot.getUserObject().toString()); ^ /home/michi/Daten/Stagepower/Interna/source/TreeWithPopup.java:259: illegal start of type if(table.getValueAt(0, 0).equals("")) { ^ /home/michi/Daten/Stagepower/Interna/source/TreeWithPopup.java:271: <identifier> expected } ^ /home/michi/Daten/Stagepower/Interna/source/TreeWithPopup.java:272: illegal start of type if(str.length() > 0) { ^ /home/michi/Daten/Stagepower/Interna/source/TreeWithPopup.java:275: <identifier> expected } ^ /home/michi/Daten/Stagepower/Interna/source/TreeWithPopup.java:276: illegal start of type catch (Exception ex) { ^ /home/michi/Daten/Stagepower/Interna/source/TreeWithPopup.java:279: <identifier> expected } ^ /home/michi/Daten/Stagepower/Interna/source/TreeWithPopup.java:281: illegal start of expression private void setupTree(){ ^ /home/michi/Daten/Stagepower/Interna/source/TreeWithPopup.java:349: ';' expected ^ /home/michi/Daten/Stagepower/Interna/source/TreeWithPopup.java:394: illegal start of expression static class MyMutableTreeNode extends DefaultMutableTreeNode { ^ /home/michi/Daten/Stagepower/Interna/source/TreeWithPopup.java:394: ';' expected static class MyMutableTreeNode extends DefaultMutableTreeNode { ^ /home/michi/Daten/Stagepower/Interna/source/TreeWithPopup.java:245: 'try' without 'catch' or 'finally' try { ^ /home/michi/Daten/Stagepower/Interna/source/TreeWithPopup.java:420: '}' expected ^ /home/michi/Daten/Stagepower/Interna/source/UPSLabelFrame.java:147: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) Enumeration enum = response.keys(); ^ /home/michi/Daten/Stagepower/Interna/source/UPSLabelFrame.java:150: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) while(enum.hasMoreElements()) { ^ /home/michi/Daten/Stagepower/Interna/source/UPSLabelFrame.java:152: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) String key = enum.nextElement().toString(); ^ /home/michi/Daten/Stagepower/Interna/source/UPSLabelFrame.java:213: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) Enumeration enum = response.keys(); ^ /home/michi/Daten/Stagepower/Interna/source/UPSLabelFrame.java:218: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) while(enum.hasMoreElements()) { ^ /home/michi/Daten/Stagepower/Interna/source/UPSLabelFrame.java:222: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier (try -source 1.4 or lower to use 'enum' as an identifier) new FilePrinter(response.get(enum.nextElement().toString()).toString(), DocFlavor.INPUT_STREAM.GIF, false, attrSet); ^ 71 errors Reordering Files. cp: Aufruf von stat für ,,/home/michi/Daten/Stagepower/Interna/classes/CustAppl.class" nicht möglich: No such file or directory Exiting. [root@nero Interna]# vi Config woran kann da liegen???? danke im voraus michi -- |
From: Markus P. <web...@em...> - 2006-02-06 16:58:58
|
Hallo Ren=C3=A9, >Hi > =20 > ich sende diese Mail auch an die Liste, da dort Frank, der auch zum Teil mitentwickelt, mitliest. Eine Anmeldung zu der Liste w=C3=A4re w=C3=BCnschenswert, damit wir insgesamt diskutieren k=C3=B6nnen. >Bei der Suche nach einen Fakturaprogramm in Java bin ich auf Interna >gestossen. Ich plane etwas =C3=84hnliches f=C3=BCr meine Projektarbeit i= m Oktober >2006 zu entwickeln. > >Dabei setze ich folgende Schwerpunkte: >- zwingend Betriebsystem unabh=C3=A4ngig > =20 > Das geht mit unseren Vorstellungen konform. Die Abh=C3=A4ngigkeit ist nur vorhanden, weil in unserem Betrieb die Fertigstellung, dann schnell gehen musste und ich deshalb einfache schnelle L=C3=B6sungen ben=C3=B6tigte. >- Komplett GPL (kein third party tools) > =20 > Als third party tools sind in interna integriert: * Kalender * OpenOffice.org * JasperReport Wenn das ganze anderweitig integriert wird, ist der Punkt eigentlich annehmbar. >- Keine weiteren Programme erforderlich (allenfalls optionale Sachen wie= >LDAP z.B.) > =20 > OpenOffice.org wurde von mir gew=C3=A4hlt, weil die Umsetzung einer Dokumentenerstellung inclusive Templating und die einfache visuelle Bearbeitung der Templates inclusive der Formatierungsm=C3=B6glichkeiten durch User, die die Bedienung einer Office-Anwendung gewohnt sind, ziemlich umfassend ist und nicht einfach mal schnell umgesetzt werden kann. Au=C3=9Ferdem bietet OpenOffice.org eine durchaus funktionale API im Bezug auf Java-Entwicklung. Da ich kein Java-Gott bin, kann ich auch nicht absch=C3=A4tzen inwieweit diese Umsetzung das Projekt sprengt. >- Client-Server based d.h. java-client zu java-server zu Datenbank=20 > =20 > Hier sehe ich den Sinn noch nicht ganz, au=C3=9Fer der Einsparung der Gr=C3=B6=C3=9Fe des Programms auf den Clients. Vielleicht kann da eine gezieltere Argumentation deinerseits Aufschluss geben. >- Datenbankneutral (MySQL, PostreSQL, Oracle, etc.) > =20 > Das ist meiner bescheidenen Meinung nach, schlicht nicht sauber umzusetzen, da jedes DBMS den ANSII-Standard nur teilweise unter- st=C3=BCtzt. Au=C3=9Ferdem str=C3=A4ubt sich mein innerstes irgendwie z.B= =2E "nicht freie" Datenbanken zu unterst=C3=BCtzen. Au=C3=9Ferdem k=C3=B6nnen manche Datenbanken, die Rahmenbedingungen f=C3=BC= r Interna nicht bieten. MySQL kam z.B. nicht in Frage, da die Unterst=C3=BC= tzung von Transaktionen in den momentan in diversen Distributionen als stabil vorliegenden Version nicht unterst=C3=BCtzt werden. Au=C3=9Ferdem scheite= rt sie beiweilen an gro=C3=9Fen BLOBs. Letzteres kann man evtl. durch eine Speic= herung im Dateisystem =C3=BCbergehen ... Hier k=C3=A4me auch die Serverversion z= um Tragen. >- (Mehrsprachigkeit) > =20 > Ist von mir schon zum Gro=C3=9Fteil in einer ziemlich schlichten Form umg= esetzt worden. Schlicht hei=C3=9Ft, dass ein einfach strukturierter XML-File vor= liegt, der quasi pro Dialog Labels und Buttons mit den Werten vorh=C3=A4lt. Die Werte werden dann in Listen abgelegt und =C3=BCber Funktionen in eine= r Sprachdatei-Klasse an die Anwendung verteilt. >Ich habe gesehen, dass du in einigen Bereich ziemlich von meinen >Schwerpunkten abweichst. > >Nun meine Frage:=20 >Ich w=C3=BCrde mich gerne am Projekt beteiligen unter Voraussetzung der >obigen Bedingungen. Bist du grunds=C3=A4tlich bereit das Projekt meinen >Vorstellungen anzugleichen. Hie und da liesse sich sicherlich noch mit >mir reden. > =20 > Sorry, aber der Satz h=C3=B6rt sich nicht danach an, dass du dich beteili= gen willst, sondern eher das Projekt =C3=BCbernehmen willst ;-) Mein Vorschlag ist, das Projekt zu splitten, also einen zweiten Developerzweig auszulagern. Das muss nicht zwingend auf Sourceforge sein. Es gibt besser= e Plattformen, die explizit auf Java-Entwicklung hinwirken. Ich pers=C3=B6nlich bin bis Ende Juli leider so gut wie nicht verf=C3=BCg= bar, da ich momentan andere Pr=C3=A4ferenzen bez=C3=BCglich meines Berufsabschlusses = habe. Kann also bis dahin auch nicht besonders hilfreich sein. Den Code zu benutzen steht dir nat=C3=BCrlich offen, ich sto=C3=9Fe gerne= dazu, wenn ich wieder mehr Zeit habe. Es w=C3=A4re nat=C3=BCrlich sch=C3=B6n, wenn der e= ntstandene Code dem Projekt n=C3=BCtzen w=C3=BCrde. >So, mal schlafen gehn :) > >Danke f=C3=BCr deine Antwort und Gr=C3=BCsse > >Ren=C3=A9 Moser > > =20 > Vielen Dank f=C3=BCr dein Interesse und die eventuelle Hilfe :) Gr=C3=BC=C3=9Fe Markus Plessing |
From: Markus P. <web...@em...> - 2006-01-15 16:46:02
|
Frank Lorenzen schrieb: >Hallo, > >ich habe heute das File INSTALL neu auf Englisch geschrieben. Es wird >noch eine deutsche Version 'INSTALL.DE' folgen. > =20 > Sehr sch=F6n. >Bitte mal durchlesen und schauen ob grobe Schnitzer drin sind bzw. ich >etwas fasch/unausf=FChrlich/zu_sehr_ausf=FChrlich geschrieben habe. > > =20 > Ein paar kleine Ver=E4nderungen hab ich gemacht. Vor allem gro=DF geschriebene Worte ... ansonsten zwei kleine Modifikationen >gruss und sch=F6nen Sonntag noch >f > =20 > Gr=FC=DFe Markus |
From: Frank L. <fi...@Fh...> - 2006-01-15 16:08:42
|
Hallo, ich habe heute das File INSTALL neu auf Englisch geschrieben. Es wird noch eine deutsche Version 'INSTALL.DE' folgen. Bitte mal durchlesen und schauen ob grobe Schnitzer drin sind bzw. ich etwas fasch/unausf=FChrlich/zu_sehr_ausf=FChrlich geschrieben habe. gruss und sch=F6nen Sonntag noch f |
From: Markus P. <web...@em...> - 2006-01-11 20:56:33
|
Hallo mal wieder :-) > * Installation vereinfachen ( Systemunabh=E4ngigkeit ) - Vereinfachung der Programmbenutzung: * Automatisierung der Installation ( ant ) Hier: siehe dazu den Punkt "SDK tooling" unter [1] - Vereinfachung der OpenOffice-Ansteuerung: * Ersetzen der kill-Scripts durch die Umstrukturierung der Klassen, mit denen OpenOffice angesteuert wird. Hier: siehe dazu den Punkt "The bootstrap method" unter [1] > * Fehlermeldeprozess vereinfachen ( Fehlerausgabe, Meldefunktion etc. )= - erledigt > * Internationalisierung ( mindestens Deutsch und Englisch ) - Integration anpassbarer UI-Sprache zu 80 % erledigt, Englische Version fehlt noch (XML-Datei) - =DCberarbeiten der Auftragsbearbeitung ( Variable Standardw=E4hrung= , erweiterbare Sprachwahl bei Templates, Ersetzungsvariablen internationalisieren, statischer Dokumentteil einstellbar (Absender) etc. ) > * Dokumentation erweitern ( evtl. auch Deutsch und Englisch ) - steht noch an ( vor allem bereits gemachte =C4nderungen einpflegen = !!! ) - FAQ erstellen, Supportm=F6glichkeiten verbessern ( Sourceforge ist unzureichend ) > * Auskoppeln zweiter Version f=FCr OpenOffice 2.0 ( API hat sich ge=E4n= dert ) - evtl. zweite Version, oder Einstellungsoption zu benutzter Version und implementation weiterer OpenOffice-Klassen zur Ansteuerung von Version 2 > * Auskoppeln des mitgelieferten Stiefkindes : Der CSV-Importer ( liegt > schon ungenannt bei ) - zur=FCckgestellt > * Erweiterung bzw. Verbesserung der Funktionalit=E4t. > - Implementieren eines Auftragsexports im CSV-Format zur =DCbernahme von Auftragsdaten in FiBu`s [1] http://api.openoffice.org/docs/DevelopersGuide/ProfUNO/ProfUNO.xhtml#1_4_= 1_Java_Language_Binding Gr=FC=DFe Markus |
From: Markus P. <web...@em...> - 2005-12-31 13:47:59
|
Hallo Frank, Frank Lorenzen schrieb: > Pfffff, kanz k=FChler Kaffee von gestern ;-) Ich habe vor einigen > Tagen, als mir die Zeit zu lang wurde, die Freiheit genommen ein > wenig zu schrauben. Vorher habe ich allerdings den CVS-Datenbestand > auf interna-1-0-RELEASE getagt, du kannst also per co -t > interna-1-0-RELEASE -P interna das auschecken was vorher drin war. > Ich mutma=DFe mal daher da=DF das mit dem Inhalt des tgz relativ > identisch sein d=FCrfte, habe es aber nicht =FCberpr=FCft. > > !!!!! Der von Dir ge=F6ffnete Zweig interna_1-0 hat mit der 1.0 schon > weniger zu tun, da sind n=E4mlich schon meine Build-=C4nderungen drin > (build.xml, die .sh-Scripte sind weg und das "Starting interna." > kommt aus CustAppl.java) !!!!! > Ja das hab ich nach dem Anlegen gesehen, also das Tag ( von mir ist auch noch eins drin *g ) und die ver=E4nderte Installergeschichte ... Hatte dann aber keine Zeit mehr da was zu =E4ndern. Wir k=F6nnen das Verzeichnis ja killen, wenn ich auch noch nicht genau we= i=DF, wie *g > [...] Sorry, aber f=FCr diese T=E4tigkeit einen Installer mitzuliefern > halte ich f=FCr kompletten K=E4se. Stattdessen k=F6nnte der User das tg= z > entweder gleich an die richtige Stelle (tm) enpacken oder aber, die > Installationsanleitung ist ja im tgz drin, nach dem Lesen selbiger an > die richtige Stelle (tm) verschieben. Ich denke da=DF das Verschieben > eines Verzeichnisses in die Kategorie "zumutbarer Aufwand" f=E4llt ;-) > immerhin ist Interna ja auch nicht unbeding die klassische "Oma > Gertrud schreibt eine E-Mail an Else"-Anwendung. F=FCr den Einsatz unter *nix ist ein Installer K=E4se, ja. Aber Windowsnutzer sind verw=F6hnt und kriegen Zust=E4nde, wenn sie an Textdateien rumschrauben m=FCssen oder wenn zur Installation kein tolles Fenster aufpoppt ... Wir werden sehen, evtl. kann man sich f=FCr Windows da was =FCberlegen. Im Moment ist das aber zur=FCckgestellt ! > > Stattdessen habe ich meine Zeit lieber in einen besseren > Build-Prozess gesteckt und einen "Installer" auf Basis von Apache-Ant > gemacht. Apache-Ant (fr=FCher Jakarta-Ant) ist sowas wie 'make' f=FCr > Java, n=E4heres gibt es unter "ant.apache.org" zu erfahren. Der User > wechselt ins Interna-Verzeichnis, passt 'user.properties' an und > tippt 'ant' und den Rest macht ant. Danach ruft er bei Bedarf noch > 'ant create-database' und 'ant create-dbsamples' auf. Auch f=FCr > Entwickler ohne 30GHz Hardware bietet sich der ein oder andere > Vorteil: 'ant compile' l=E4sst alles in Ruhe und compiliert neu von > 'source' nach 'classes', nat=FCrlich nur die ge=E4nderten Dateien und > nicht alle. Das ist gut so. ich kenn nur make - ist aber das selbe Prinzip. > [...] Per checkout zeigt die auf 'java' (was f=FCr die Meisten so > stimmen sollte), bei mir zeigt sie auf 'sun14-java'. 'Config' werde > ich aber in n=E4herer Zukunft wegoptimieren, da ich das relevante in > 'start.sh' bzw. 'start.bat' verschieben werde Mhm, das war urspr=FCnglich auch so, bis ich dann die compile.sh eingef=FC= hrt habe um auf entfernten Systemen zu kompilieren. Zuvor habe ich bei uns in der Firma einfach die fertigen classes hin und hergeschoben und aus Eclipse heraus kompiliert ;-) > und die Sache mit dem eigenen Interna-User wegfallen kann da ich > herausgefunden habe wie man OpenOffice dazu bringt _nicht_ die > Default-Config zu nutzen *tadaa*: Man nehme eine Unze Froschaugen ein > wenig Baumschlangenhaut und einen Molch.... Nat=FCrlich nicht, es > scheint sich aber um ein verdammt gut geh=FCtetes Geheimnis zu handeln > wie man OO dazu bringt _nicht_ '.sversionrc' auszuwerten: > /path/to/openoffice.org0.8.15/program/soffice\ > -env:UserInstallation=3Dfile://path/to/UserDir Ich musste allerdings > rituell ein Huhn schlachten um das herauszufinden. Um das Huhn f=FCr > seinen Tot zu ehren kann ich jetzt hier auf dem Silberteblett > pr=E4sentieren (nicht das Huhn!!): > http://blogs.nuxeo.com/sections/blogs/laurent_godard/\ > 2005_08_04_ooo2_and_multiple Super, mir wurde unter anderem auf der offiziellen dev- und der users- mailingliste gesagt, dass dies nicht m=F6glich sei .... soviel dazu. Ich habs grade auch versucht und es funktioniert mit den 1.1.x und der 2.= 0 Ich habe mich an eine Internationalisierung gemacht. Ich werde wohl die kompletten Sprachabh=E4ngigen Teile per XML-File definieren. Also Dialoge= , Fenster, Labels, Buttons und Men=FCeintr=E4ge. Dialoge und Men=FCs hab ic= h schon abge=E4ndert und Teile der Fenster mit Buttons und Labels auch ... Sieht recht gut aus bis jetzt und scheint relativ z=FCgig zu gehen. > > Hmmm, der Buchstabenvorrat f=FCr heute ist fast ersch=F6pft. Die > =DCberlegung Teile von 'user.properties' in die Datenbank zu verlagern > muss ich dann wohl ein anderes Mal loswerden. Mit einer Benutzerverwaltung mit gezielter Rechtevergabe ( z.B. soll der Marketingtyp zwar Auftr=E4ge betrachten k=F6nnen, aber nicht ver=E4ndern etc. ) wird die Auslagerung sogar unbedingt n=F6tig. Also sobald userspezifische Einstellungen dazu kommen. Dinge aus den Einstellungen wie Mehrwertsteuer, W=E4hrungseinstellungen etc. kann man nat=FCrlich auch sch=F6n auslagern und in eine Einstellungstabelle verlagern. K=F6nnen wir dr=FCber nachdenken, zumal die L=F6sung mit den Textfiles re= lativ unsch=F6n ist mit Trennzeichen usw. BTW: Wir br=E4uchten irgendwann auch mal jemanden, der das ganze unter Windows testet oder was meinst du? Gr=FC=DFe Markus |
From: Frank L. <fi...@Fh...> - 2005-12-30 20:32:21
|
Markus Plessing schrub: > Frank Lorenzen schrieb: >=20 > > [...] > > > >Ah! Super, danke f=FCr die Erkl=E4rung. > >Soll die Customer-ID dann 'customerid' oder 'customerID' hei=DFen? > > > > =20 > > >=20 > Ich bin f=FCr Kleinschreibung. Lass uns das hier und jetzt als > unseren Standard definieren :-) Ok. [...] > Die Fehlerbehandlung habe ich heute soweit fertig bekommen. >=20 > Bei einem Fehler wird ein Fehlerfenster angezeigt mit den ersten > Klartextmeldungen zum Fehler. Mit dem Button ("Details anzeigen") > kann man sich dann den StackTrace ansehen und gleichzeitig > erscheint auch die M=F6glichkeit das ganze als Bugreport zu versenden. > Man kann dann noch Namen, Email und ein paar eigene Erkl=E4rungen > beif=FCgen und schon wird das ganze ( nachdem es nochmal zum Pr=FCfen > in einem Dialog angezeigt wurde ) inclusive diverser Systeminformatione= n > an ein PHP-Script ins Netz geschickt und nach diversen Sicherheitskontr= ollen > dort in unsere SF-MySQL-Datenbank geschrieben. Ich habe es mir kurz nachdem du das eingecheckt hattest schon kurz angesehen. Schaut gut aus. > Das komfortable auslesen, ansehen durch uns ist noch nicht m=F6glich, a= ber > das hat auch noch Zeit :-) >=20 > BTW: Ich h=E4tte gerne bei Zeiten =FCber private Mail nen PGP-Key von d= ir um > so Sachen > wie Zugangspassw=F6rter (z.B. zur Datenbank ) verschl=FCsselt austausch= en zu > k=F6nnen. Jo, ich grabe den mal aus. > Ich checke das ganze ein, sobald ich das mit dem RELEASE_Tag hinbekomme= n > habe, da die Funktion nur rudiment=E4r von mir getestet wurde ... Pfffff, kanz k=FChler Kaffee von gestern ;-) Ich habe vor einigen Tagen, als mir die Zeit zu lang wurde, die Freiheit genommen ein wenig zu schrauben. Vorher habe ich allerdings den CVS-Datenbestand auf interna-1-0-RELEASE getagt, du kannst also per co -t interna-1-0-RELEASE -P interna das auschecken was vorher drin war. Ich mutma=DFe mal daher da=DF das mit dem Inhalt des tgz relativ identisch sein d=FCrfte, habe es aber nicht =FCberpr=FCft. !!!!! Der von Dir ge=F6ffnete Zweig interna_1-0 hat mit der 1.0 schon weniger z= u tun, da sind n=E4mlich schon meine Build-=C4nderungen drin (build.xml, di= e .sh-Scripte sind weg und das "Starting interna." kommt aus CustAppl.java) !!!!! > Ich hoffe du hattest ein paar sch=F6ne Weihnachtstage und sollten wir u= ns > nicht > mehr lesen w=FCnsch ich nen guten Rutsch und bis n=E4chstes Jahr ... Danke. Ich w=FCnsche ebenfalls gut zu rutschen.... Apropos schrauben oder was in den letzten Tagen so geschah: Ich habe mir recht lange Gedanken =FCber die Installer-Geschichte gemacht und bin zu einem recht ketzerischen Schluss gekommen: Wir brauchen keinen. Lass es mich erkl=E4ren. Nimmt man deine =DCberlegung Interna komplett in ein eigenes Verzeichnis zu installieren (Was mir zwar erst etwas komisch vorkam, aber aus Gr=FCnden der Platformunabh=E4ngigkeit eine Gute Idee is= t) und kombiniert sie mit der (potentiellen) T=E4tigkeit eines Installers wi= e IzInstall so kommt man zu folgendem Ablauf: - Der User besorgt sich das Interna-tgz und entpackt es in ein Verzeichnis. - In diesem Verz. ruft er den Installer auf und gibt ein paar Daten an. - Der Installer nimmt alles aus diesem Verzeichnis, fummelt evtl. noch an dem ein oder anderen und schaufelt es in ein anderes Verzeichnis. Sorry, aber f=FCr diese T=E4tigkeit einen Installer mitzuliefern halte ic= h f=FCr kompletten K=E4se. Stattdessen k=F6nnte der User das tgz entweder gleich an die richtige Stelle (tm) enpacken oder aber, die Installationsanleitung ist ja im tgz drin, nach dem Lesen selbiger an die richtige Stelle (tm) verschieben. Ich denke da=DF das Verschieben eines Verzeichnisses in die Kategorie "zumutbarer Aufwand" f=E4llt ;-) immerhin ist Interna ja auch nicht unbeding die klassische "Oma Gertrud schreibt eine E-Mail an Else"-Anwendung. Stattdessen habe ich meine Zeit lieber in einen besseren Build-Prozess gesteckt und einen "Installer" auf Basis von Apache-Ant gemacht. Apache-Ant (fr=FCher Jakarta-Ant) ist sowas wie 'make' f=FCr Java, n=E4he= res gibt es unter "ant.apache.org" zu erfahren. Der User wechselt ins Interna-Verzeichnis, passt 'user.properties' an und tippt 'ant' und den Rest macht ant. Danach ruft er bei Bedarf noch 'ant create-database' und 'ant create-dbsamples' auf. Auch f=FCr Entwickler ohne 30GHz Hardware bietet sich der ein oder andere Vorteil: 'ant compile' l=E4sst alles in Ruhe und compiliert neu von 'source' nach 'classes', nat=FCrlich nur die ge=E4nderten Dateien und nic= ht alle. Au=DFerdem mu=DF ich hier ja mal anmerken da=DF ant ohne Nachhelfen meine= n doch recht ungew=F6hnlichen Java-Compiler-Wrapper '/usr/pkg/bin/sun14-javac' ohne Murren gefunden hat (!!) und nicht '/usr/pkg/java/sun-1.4/bin/javac' genommen hat, was zwar nicht funktioniert aber bei JAVA_HOME=3D/usr/pkg/java/sun-1.4 eher verst=E4ndli= ch gewesen w=E4re. Das mag allerdings auch auf das Konto der NetBSD-pkgsrc Maintainer gehen und nicht auf das Konto der Ant-Developer ;-) Schau dir 'build.xml' einfach mal an. Ich mu=DF allerdings eingestehen, da=DF ich die Datenbank-create Geschich= te noch nicht geschrieben habe, au=DFerdem 'INSTALL' noch nicht auf die neue Situation angepasst habe und sich die Sektion 'Voraussetzungen' nat=FCrlich um Apache-Ant erweitert. Achso: Das (Unix) Startscript (das ant hinten rauswirft) mu=DF ich noch ein wenig "tunen". Die Datei 'Config' habe ich um 'JVM' erweitert. Per checkout zeigt die auf 'java' (was f=FCr die Meisten so stimmen sollte), bei mir zeigt sie auf 'sun14-java'. 'Config' werde ich aber in n=E4herer Zukunft wegoptimieren, da ich das relevante in 'start.sh' bzw. 'start.bat' verschieben werde und die Sache mit dem eigenen Interna-User wegfallen kann da ich herausgefunden habe wie man OpenOffice dazu bringt _nicht_ die Default-Config zu nutzen *tadaa*: Man nehme eine Unze Froschaugen ein wenig Baumschlangenhaut und einen Molch.... Nat=FCrlich nicht, es scheint sich aber um ein verdammt gut geh=FCtetes Geheimnis zu handeln wie man OO dazu bringt _nicht_ '.sversionrc' auszuwerten: /path/to/openoffice.org0.8.15/program/soffice\ -env:UserInstallation=3Dfile://path/to/UserDir Ich musste allerdings rituell ein Huhn schlachten um das herauszufinden. Um das Huhn f=FCr seinen Tot zu ehren kann ich jetzt hier auf dem Silberteblett pr=E4sentieren (nicht das Huhn!!): http://blogs.nuxeo.com/sections/blogs/laurent_godard/\ 2005_08_04_ooo2_and_multiple Hmmm, der Buchstabenvorrat f=FCr heute ist fast ersch=F6pft. Die =DCberlegung Teile von 'user.properties' in die Datenbank zu verlager= n muss ich dann wohl ein anderes Mal loswerden. >=20 > Markus >=20 gru <<MUA Error: character supply emtpy>> |
From: Markus P. <web...@em...> - 2005-12-27 13:03:15
|
Frank Lorenzen schrieb: > [...] > >Ah! Super, danke f=FCr die Erkl=E4rung. >Soll die Customer-ID dann 'customerid' oder 'customerID' hei=DFen? > > =20 > Ich bin f=FCr Kleinschreibung. Lass uns das hier und jetzt als unseren Standard definieren :-) >Ich dachte mir, da=DF die Kommentare die ich in das sql-script geschrieb= en >habe da durchaus mal 'ne Weile drinbleiben k=F6nnen, so als >schnellreferenz wenn 'urpl=F6tzlich' inkompatiblit=E4ten auftauchen. > =20 > Ok, das geht klar. >Wenn ich mich nicht t=E4usche ist der derzeitige Stand im CVS doch gleic= h >dem Inhalt des Interna1-tgz. >Es w=E4re denke ich am einfachsten jetzt, bevor noch irgendwelche >=C4nderungen ins CVS einflie=DFen, einen Tag 'Interna-1.0_RELEASE' oder >=E4hnlich zu setzen soda=DF auch aus dem CVS der letzte stabile Stand >ausgecheckt werden kann. >Ich frische gerade meine CVS-Kentnisse mit >http://cvsbook.red-bean.com/translations/german >ein wenig auf. > =20 > Ich hab heute und morgen Urlaub und hoffe noch ein wenig CVS erlernen zu k=F6nnen ... Im Moment hab ich halt einfach keine Ahnung von CVS ... Die Vorgehensweise ist aber ok. >>Ich pers=F6nlich habe mich an die Fehlerbehandlung gemacht und >>zus=E4tzlich eine einheitliche Warnmeldung bei Fehlern eingebaut, >>die es m=F6glich macht sich den Java-Stack-Trace anzeigen zu lassen >>um das ganze dann aus dem Textfeld kopieren zu k=F6nnen und die >>Info einer Bugmeldung beizuf=FCgen. >> =20 >> > >Das ist eine gute Idee (tm). > =20 > Die Fehlerbehandlung habe ich heute soweit fertig bekommen. Bei einem Fehler wird ein Fehlerfenster angezeigt mit den ersten Klartextmeldungen zum Fehler. Mit dem Button ("Details anzeigen") kann man sich dann den StackTrace ansehen und gleichzeitig erscheint auch die M=F6glichkeit das ganze als Bugreport zu versenden. Man kann dann noch Namen, Email und ein paar eigene Erkl=E4rungen beif=FCgen und schon wird das ganze ( nachdem es nochmal zum Pr=FCfen in einem Dialog angezeigt wurde ) inclusive diverser Systeminformationen an ein PHP-Script ins Netz geschickt und nach diversen Sicherheitskontrol= len dort in unsere SF-MySQL-Datenbank geschrieben. Das komfortable auslesen, ansehen durch uns ist noch nicht m=F6glich, abe= r das hat auch noch Zeit :-) BTW: Ich h=E4tte gerne bei Zeiten =FCber private Mail nen PGP-Key von dir= um so Sachen wie Zugangspassw=F6rter (z.B. zur Datenbank ) verschl=FCsselt austauschen= zu k=F6nnen. Ich checke das ganze ein, sobald ich das mit dem RELEASE_Tag hinbekommen habe, da die Funktion nur rudiment=E4r von mir getestet wurde ... Ich hoffe du hattest ein paar sch=F6ne Weihnachtstage und sollten wir uns= nicht mehr lesen w=FCnsch ich nen guten Rutsch und bis n=E4chstes Jahr ... Markus |
From: Frank L. <fi...@Fh...> - 2005-12-05 19:50:35
|
On Sat, Dec 03, 2005 at 09:00:40PM +0100, Markus Plessing wrote: > Frank Lorenzen schrieb: [...] > > Ein paar Fragen habe ich auch noch: > > Bei einigen create-Statements werden Spaltennamen in Anf=FChrungszeic= hen > > verwendet. Das habe ich vorher noch nie gesehen und wei=DF auch nicht= wozu > > das gut ist. Am Anfang dachte ich es habe etwas mit 'WHITOUT OIDS' zu > > tun, da es dort (fast) immer so ist, habe dann aber sp=E4ter noch '"t= ype"' > > in der Tabelle 'documents' und '"position"' in 'contact' gefunden. We= i=DFt > > du was es damit auf sich hat? >=20 >=20 > Das hat irgendwas mit Spaltennamen zu tun mit gro=DFen Buchstaben > glaube ich mich grob zu erinnern, kann es aber nicht mehr genau sagen. > Aber mit den OIDs hast du irgendwie auch Recht. Ich wei=DF nur noch, > dass es ohne Anf=FChrungszeichen nicht funktioniert hat *g >=20 > TYPE wird eingefasst, weil es ein PostgreSQL Schl=FCsselwort ist. Wird > z.B mit DROP und CREATE von neuen Datentypen verwendet ... >=20 > POSITION hat zwar keine spezielle Funktion, ist aber laut SQL 92 - > Standard als Schl=FCsselwort reserviert... >=20 > Gefunden hier: > http://www.postgresql.org/files/documentation/books/pghandbuch/html/sql= -keywords-appendix.html >=20 > Diese Spalten sollten wir umbenennen und beim weiteren Design auch > beachten. Ah! Super, danke f=FCr die Erkl=E4rung. Soll die Customer-ID dann 'customerid' oder 'customerID' hei=DFen? > > In der Tabelle 'zo_txtmod_cust' referenziert der Fremdschl=FCssel > > 'companyID' auf customer.customerID. Gut, die Tabelle hat was mit > > customer zu tun, aufgefallen ist es mir trotzdem. >=20 >=20 > Das ist einfach falsch benannt. Die Referenz steht da aber um > die Zuordnung von Textbausteinen zu nicht existenten Kunden zu > unterbinden. Ok. Das behalte ich mir mal im Hinterkopf. > > In customerDB_sample.sql.frank sind nicht darstellbare Zeichen: > > =C3???mustermann =C3???dr. =C3???abt.leiter =C3???michael > > Ich vermute das waren mal Umlaute, die sind entweder verloren gegange= n > > oder ich habe hier ein Problem damit obschon > > 'LC_CTYPE=3D"de_DE.ISO8859-15"' gesetzt ist. > > Achso, die sind nicht pl=F6tzlich bei mir aufgetaucht sondern waren s= chon > > so im Interna-tgz drin. >=20 >=20 > Ja, ich meine die Datenbank war auf UTF-8 gesetzt, weil ich damals > dachte w=E4re cool weil Java intern mit Unicode arbeitet und beim > Exportieren hats die dann irgendwo zerschmissen. Das sollte > eigentlich ein A mit Apostroph sein um die Einsortierung der > Sonderzeichen unter dem richtigen Reiter zu zeigen. PostgreSQL > ordnet die nicht automatisch zum A zu usw ... Sowas: =C1 ? > > Bis jetzt sind alle =C4nderungen f=FCr Interna weitgehen transparent,= d.h. > > es sollte sich bei einem auf die neue Datenbank eingestellten Interna > > eigentlich nichts =E4ndern, _AU=DFER_ da=DF die Produktverwaltung mit= den > > ge=E4nderten Spalten nicht klarkommt. >=20 > Das was ich meinte mit "nicht flexibel genug" w=E4re z.B., dass > es nicht unbedingt sein muss, dass die SQL-Anweisung im Code > ein Double liefert, obwohl es eine Gleitkommazahl ist. Oft wird, > wenn in der Datenbank varchar erwartet wird das ganze auch > als String geliefert ... Das k=F6nnte evtl. Probleme machen, muss > man aber einfach nur wissen und drauf achten :-) Ich dachte mir, da=DF die Kommentare die ich in das sql-script geschriebe= n habe da durchaus mal 'ne Weile drinbleiben k=F6nnen, so als schnellreferenz wenn 'urpl=F6tzlich' inkompatiblit=E4ten auftauchen. > > Ich w=FCrde gerne weitere =C4nderungen bei einigen Datentypen machen = was > > dann aber auch =C4nderungen am Code von Interna nach sich ziehen wird. > > Dazu w=FCrde ich gerne eine Versionsverwaltung nutzen. Ich kann das > > entweder komplett bei mir machen oder aber auch im Sourceforge-CVS. A= uf > > jeden Fall wird Interna in dieser Zeit nicht oder nur eingeschr=E4nkt > > funktionsf=E4hig sein. > > Was meinst Du dazu? >=20 >=20 > Ich werde dir CVS freischalten. > Wir sollten aber dar=FCber nachdenken ein funktionsf=E4higes > Modul im CVS-Tree zu belassen, falls jemand unbedingt und > qu=E4ngelnder Weise per CVS auschecken will ;-) Wenn ich mich nicht t=E4usche ist der derzeitige Stand im CVS doch gleich dem Inhalt des Interna1-tgz. Es w=E4re denke ich am einfachsten jetzt, bevor noch irgendwelche =C4nderungen ins CVS einflie=DFen, einen Tag 'Interna-1.0_RELEASE' oder =E4hnlich zu setzen soda=DF auch aus dem CVS der letzte stabile Stand ausgecheckt werden kann. Ich frische gerade meine CVS-Kentnisse mit http://cvsbook.red-bean.com/translations/german ein wenig auf. > Ich pers=F6nlich habe mich an die Fehlerbehandlung gemacht und > zus=E4tzlich eine einheitliche Warnmeldung bei Fehlern eingebaut, > die es m=F6glich macht sich den Java-Stack-Trace anzeigen zu lassen > um das ganze dann aus dem Textfeld kopieren zu k=F6nnen und die > Info einer Bugmeldung beizuf=FCgen. Das ist eine gute Idee (tm). > Das ist aber noch nicht eingecheckt, weil ich noch dran arbeite. >=20 > > gruss und sch=F6nes Wochenende > > f >=20 >=20 > Gr=FC=DFe und auch ein sch=F6nes WE >=20 > Markus gruss f |
From: Markus P. <web...@em...> - 2005-12-03 19:57:53
|
Frank Lorenzen schrieb: > Hallo Markus, > > erste Ergebnisse sind hier anzuschauen: > http://143.93.191.155/interna-sql > statt der IP kann man auch marvin.linux-lounge.it.fh-worms.de schreiben= , > wenn man mag. > > Die Namen 'empty' und 'sample' sind nicht mehr ganz zutreffend. 'empty'= > erstellt die Datenbank. Obacht: Im Kopf der Datei wird User und > Datenbankname angegeben. Derzeitige Werte: user=3Dfrank db=3DtestDB. > Die Datenbank ist danach allerdings nicht komplett leer, da ein paar > Defaultwerte schon drinstehen. > Die Datei customerDB_sample.sql.frank wird bei Bedarf verwendet wie die= > vorherige, nur da=C3=9F psql als Datenbankname nicht template0 sondern = der > Name der vorher angelegten DB =C3=BCbergeben wird. sample.sql kopiert a= lso > nurnoch die Daten in die Bank. > Der Vorteil ist, da=C3=9F man bei =C3=84nderungen nur noch eine Datei w= arten mu=C3=9F > (so es sich denn nicht _gravierend_ =C3=A4ndert). Mhm, sinnvoll Daten von Struktur zu trennen, so k=C3=B6nnen bei Bedarf die Daten einfach nachgesch=C3=BCttet werden und man muss sich nicht schon beim Anlegen der DB entscheiden. Das =C3=84ndern wird nat=C3=BCrlich auch leichter, ja ... In jedem Fall sinnig das ganze.= > > customerDB_empty.sql.frank.1 habe ich gegen=C3=BCber dem originalen pgd= ump > output ein wenig vereinfacht. Um es auf den Punkt zu bringen, ich habe > einfach alles =C3=BCberfl=C3=BCssige rausgeschmissen und anschlie=C3=9F= end den Rest > zusammengefasst, soda=C3=9F die neue Datei =C3=BCbersichtlicher sein so= llte als > die vorherige. Dinge von denen ich nicht genau wusste was sie tun > stehen noch genauso drin wie vorher. > Ein paar =C3=84nderungen an der Struktur der Datenbank habe ich auch > vorgenommen, bin damit aber noch nicht fertig (deshalb auch "erster > Teil"). Eine schnelle =C3=9Cbersicht aller =C3=84nderungen bekommst du = mit > 'grep ^-- customerDB_empty.sql.frank.1' > Ich hab mir das ganze grade kurz angesehen. Was ich bisher gesehen habe gef=C3=A4llt mir schon ganz gut. > Ein paar Fragen habe ich auch noch: > Bei einigen create-Statements werden Spaltennamen in Anf=C3=BChrungszei= chen > verwendet. Das habe ich vorher noch nie gesehen und wei=C3=9F auch nich= t wozu > das gut ist. Am Anfang dachte ich es habe etwas mit 'WHITOUT OIDS' zu > tun, da es dort (fast) immer so ist, habe dann aber sp=C3=A4ter noch '"= type"' > in der Tabelle 'documents' und '"position"' in 'contact' gefunden. Wei=C3= =9Ft > du was es damit auf sich hat? Das hat irgendwas mit Spaltennamen zu tun mit gro=C3=9Fen Buchstaben glaube ich mich grob zu erinnern, kann es aber nicht mehr genau sagen. Aber mit den OIDs hast du irgendwie auch Recht. Ich wei=C3=9F nur noch, dass es ohne Anf=C3=BChrungszeichen nicht funktioniert hat *g TYPE wird eingefasst, weil es ein PostgreSQL Schl=C3=BCsselwort ist. Wird= z.B mit DROP und CREATE von neuen Datentypen verwendet ... POSITION hat zwar keine spezielle Funktion, ist aber laut SQL 92 - Standard als Schl=C3=BCsselwort reserviert... Gefunden hier: http://www.postgresql.org/files/documentation/books/pghandbuch/html/sql-k= eywords-appendix.html Diese Spalten sollten wir umbenennen und beim weiteren Design auch beachten. > > In der Tabelle 'zo_txtmod_cust' referenziert der Fremdschl=C3=BCssel > 'companyID' auf customer.customerID. Gut, die Tabelle hat was mit > customer zu tun, aufgefallen ist es mir trotzdem. Das ist einfach falsch benannt. Die Referenz steht da aber um die Zuordnung von Textbausteinen zu nicht existenten Kunden zu unterbinden. > > In customerDB_sample.sql.frank sind nicht darstellbare Zeichen: > =C3=83=EF=BF=BDmustermann =C3=83=EF=BF=BDdr. =C3=83=EF=BF=BDabt.leiter = =C3=83=EF=BF=BDmichael > Ich vermute das waren mal Umlaute, die sind entweder verloren gegangen > oder ich habe hier ein Problem damit obschon > 'LC_CTYPE=3D"de_DE.ISO8859-15"' gesetzt ist. > Achso, die sind nicht pl=C3=B6tzlich bei mir aufgetaucht sondern waren = schon > so im Interna-tgz drin. Ja, ich meine die Datenbank war auf UTF-8 gesetzt, weil ich damals dachte w=C3=A4re cool weil Java intern mit Unicode arbeitet und beim Exportieren hats die dann irgendwo zerschmissen. Das sollte eigentlich ein A mit Apostroph sein um die Einsortierung der Sonderzeichen unter dem richtigen Reiter zu zeigen. PostgreSQL ordnet die nicht automatisch zum A zu usw ... > > > Bis jetzt sind alle =C3=84nderungen f=C3=BCr Interna weitgehen transpar= ent, d.h. > es sollte sich bei einem auf die neue Datenbank eingestellten Interna > eigentlich nichts =C3=A4ndern, _AU=C3=9FER_ da=C3=9F die Produktverwalt= ung mit den > ge=C3=A4nderten Spalten nicht klarkommt. Das was ich meinte mit "nicht flexibel genug" w=C3=A4re z.B., dass es nicht unbedingt sein muss, dass die SQL-Anweisung im Code ein Double liefert, obwohl es eine Gleitkommazahl ist. Oft wird, wenn in der Datenbank varchar erwartet wird das ganze auch als String geliefert ... Das k=C3=B6nnte evtl. Probleme machen, muss man aber einfach nur wissen und drauf achten :-) > Ich w=C3=BCrde gerne weitere =C3=84nderungen bei einigen Datentypen mac= hen was > dann aber auch =C3=84nderungen am Code von Interna nach sich ziehen wir= d. > Dazu w=C3=BCrde ich gerne eine Versionsverwaltung nutzen. Ich kann das > entweder komplett bei mir machen oder aber auch im Sourceforge-CVS. Auf= > jeden Fall wird Interna in dieser Zeit nicht oder nur eingeschr=C3=A4nk= t > funktionsf=C3=A4hig sein. > Was meinst Du dazu? Ich werde dir CVS freischalten. Wir sollten aber dar=C3=BCber nachdenken ein funktionsf=C3=A4higes Modul im CVS-Tree zu belassen, falls jemand unbedingt und qu=C3=A4ngelnder Weise per CVS auschecken will ;-) Ich pers=C3=B6nlich habe mich an die Fehlerbehandlung gemacht und zus=C3=A4tzlich eine einheitliche Warnmeldung bei Fehlern eingebaut, die es m=C3=B6glich macht sich den Java-Stack-Trace anzeigen zu lassen um das ganze dann aus dem Textfeld kopieren zu k=C3=B6nnen und die Info einer Bugmeldung beizuf=C3=BCgen. Das ist aber noch nicht eingecheckt, weil ich noch dran arbeite. > gruss und sch=C3=B6nes Wochenende > f Gr=C3=BC=C3=9Fe und auch ein sch=C3=B6nes WE Markus |
From: Frank L. <fi...@Fh...> - 2005-12-03 12:36:52
|
Hallo Markus, erste Ergebnisse sind hier anzuschauen: http://143.93.191.155/interna-sql statt der IP kann man auch marvin.linux-lounge.it.fh-worms.de schreiben, wenn man mag. Die Namen 'empty' und 'sample' sind nicht mehr ganz zutreffend. 'empty' erstellt die Datenbank. Obacht: Im Kopf der Datei wird User und Datenbankname angegeben. Derzeitige Werte: user=3Dfrank db=3DtestDB. Die Datenbank ist danach allerdings nicht komplett leer, da ein paar Defaultwerte schon drinstehen. Die Datei customerDB_sample.sql.frank wird bei Bedarf verwendet wie die vorherige, nur da=DF psql als Datenbankname nicht template0 sondern der Name der vorher angelegten DB =FCbergeben wird. sample.sql kopiert also nurnoch die Daten in die Bank. Der Vorteil ist, da=DF man bei =C4nderungen nur noch eine Datei warten mu= =DF (so es sich denn nicht _gravierend_ =E4ndert). customerDB_empty.sql.frank.1 habe ich gegen=FCber dem originalen pgdump output ein wenig vereinfacht. Um es auf den Punkt zu bringen, ich habe einfach alles =FCberfl=FCssige rausgeschmissen und anschlie=DFend den Res= t zusammengefasst, soda=DF die neue Datei =FCbersichtlicher sein sollte als die vorherige. Dinge von denen ich nicht genau wusste was sie tun stehen noch genauso drin wie vorher. Ein paar =C4nderungen an der Struktur der Datenbank habe ich auch vorgenommen, bin damit aber noch nicht fertig (deshalb auch "erster Teil"). Eine schnelle =DCbersicht aller =C4nderungen bekommst du mit 'grep ^-- customerDB_empty.sql.frank.1' Ein paar Fragen habe ich auch noch: Bei einigen create-Statements werden Spaltennamen in Anf=FChrungszeichen verwendet. Das habe ich vorher noch nie gesehen und wei=DF auch nicht woz= u das gut ist. Am Anfang dachte ich es habe etwas mit 'WHITOUT OIDS' zu tun, da es dort (fast) immer so ist, habe dann aber sp=E4ter noch '"type"= ' in der Tabelle 'documents' und '"position"' in 'contact' gefunden. Wei=DF= t du was es damit auf sich hat? In der Tabelle 'zo_txtmod_cust' referenziert der Fremdschl=FCssel 'companyID' auf customer.customerID. Gut, die Tabelle hat was mit customer zu tun, aufgefallen ist es mir trotzdem. In customerDB_sample.sql.frank sind nicht darstellbare Zeichen: =C3=89mustermann =C3=89dr. =C3=89abt.leiter =C3=89michael Ich vermute das waren mal Umlaute, die sind entweder verloren gegangen oder ich habe hier ein Problem damit obschon 'LC_CTYPE=3D"de_DE.ISO8859-15"' gesetzt ist. Achso, die sind nicht pl=F6tzlich bei mir aufgetaucht sondern waren schon so im Interna-tgz drin. Bis jetzt sind alle =C4nderungen f=FCr Interna weitgehen transparent, d.h. es sollte sich bei einem auf die neue Datenbank eingestellten Interna eigentlich nichts =E4ndern, _AU=DFER_ da=DF die Produktverwaltung mit den ge=E4nderten Spalten nicht klarkommt. Ich w=FCrde gerne weitere =C4nderungen bei einigen Datentypen machen was dann aber auch =C4nderungen am Code von Interna nach sich ziehen wird. Dazu w=FCrde ich gerne eine Versionsverwaltung nutzen. Ich kann das entweder komplett bei mir machen oder aber auch im Sourceforge-CVS. Auf jeden Fall wird Interna in dieser Zeit nicht oder nur eingeschr=E4nkt funktionsf=E4hig sein. Was meinst Du dazu? gruss und sch=F6nes Wochenende f |
From: Markus P. <web...@em...> - 2005-12-02 20:22:29
|
Hallo Liste, hier mal in einem extra Thread meine Gedanken zum Werdegang von Interna: Ich habe mir so =FCberlegt, dass die n=E4chsten Meilensteine folgenderma=DF= en aussehen sollten. In Klammern stehen unausgereifte Gedanken zu betreffend= em Punkt :-) * Installation vereinfachen ( Systemunabh=E4ngig, evtl. incl. vereinfacht= e Demonutzung ) * Fehlermeldeprozess vereinfachen ( Fehlerausgabe, Meldefunktion etc. ) * Internationalisierung ( mindestens Deutsch und Englisch ) * Dokumentation erweitern ( evtl. auch Deutsch und Englisch ) * Auskoppeln zweiter Version f=FCr OpenOffice 2.0 ( API hat sich ge=E4nde= rt ) * Auskoppeln des mitgelieferten Stiefkindes : Der CSV-Importer ( liegt schon ungenannt bei ) * Erweiterung bzw. Verbesserung der Funktionalit=E4t. To be continued Markus |
From: Markus P. <web...@em...> - 2005-12-02 20:19:30
|
Hallo Frank, Frank Lorenzen schrieb: > On Fri, Dec 02, 2005 at 01:55:55PM +0100, Markus Plessing wrote: > [...] Ich denke da=DF man dann eher gleich zu einer generischen > Installationsl=F6sung, die auf Java aufsetzt und damit auch prinzipiell= > auf allen Java-Platformen lauff=E4hig ist, =FCbergehen sollte statt > jetzt noch ein Unix-Script als Installer hinterherzuschieben welches > dann halt nur auf Unix l=E4uft. Ich habe mich schon l=E4nger am Anfang dieser Interna-Geschichte mit dem IzPack-Installer besch=E4ftigt. Ist eigentlich ziemlich gut gemacht =FCber XML-Definitionen der einzelnen Panels und zudem =FCber nativen Code erweiterbar und au=DFerdem Zugriff auf System- bezogene Scripts f=FCr OS-typische Aktionen etc ... http://www.izforge.com/izpack/ Das ist die Referenz der Stunde ;-) Es gibt noch weitere Java-Installer, aber damals empfand ich den IzPack am komfortabelsten, wenn er beim ersten Testlauf unter Windows auch nicht gleich reagierte wie unter Linux ... > [...] > Flexibler Code tr=E4gt aber sehr dazu bei die Schmerzen beim Erweitern > oder Umbauen gering zu halten. ;-) Genau das meinte ich ... > > gruss f Gr=FC=DFe Markus |
From: Frank L. <fi...@Fh...> - 2005-12-02 14:49:32
|
On Fri, Dec 02, 2005 at 01:55:55PM +0100, Markus Plessing wrote: [...] > Also, ich habe dich jetzt mal dreisterweise als Developer f=FCr Interna > aktiviert. > Treffenderweise bist du als eine "All-hands person" deklariert ;-) >=20 > Im Moment hast du also: > * SSH-Zugriff auf den Shellserver auf dem die Dateien zur Homepage lie= gen > ( incl. der OnlineDoku im HTML-Format ). >=20 > $: ssh <USER>@shell.sf.net > $: cd /home/groups/i/in/interna/htdocs >=20 > Die Dateinamen sollten sich selbst erkl=E4ren. > Shell-Autorisierung erfolgt =FCber ssh-key f=FCr <USER>@shell.sf.ne= t > Key im Useraccount hinterlegen! >=20 > * Zugriff auf den Sourceforge DocManager f=FCrs Projekt=20 > (schreiben, bearbeiten, l=F6schen) >=20 > * Zugriff auf das Forum als Moderator >=20 > Wenns mehr oder weniger sein soll m=FCssen wir das halt noch bearbeiten. Danke. Ich schau es mir nachher an. > > Ich bin gerade dabei in diese Richtung etwas herumzuprobieren. Es > > kann nicht so schwer sein dem OO einen anderen User-Pfad > > unterzujubeln. Ein konkretes Ergebnis kann ich dir im Moment aber > > noch nicht nennen. > > > > Meine =DCberlegung dazu war folgende: > > > > Interna wir ganz normal ins System installiert, also z.B. nach > > /usr/local oder /opt oder sonstwohin. Es gibt eine systemweite > > COnfigdatei in der z.B. die Datenbankeinstellungen festgelegt werden. > > Es gibt optional au=DFerdem eine vorkonfigurierten ProdTree. > > > > F=FCr jeden User der Interna nutzt wird beim ersten Start ein > > ~/.interna Verzeichnis angelegt, in dem a) Die Usereinstellungen, > > also Sprache, Aussehen der Anwendung, usw. abgelegt werden. b) Ein > > Verzeichnis f=FCr OO angelegt wird, in dem unabh=E4ngig vom evtl. > > vorhandenen "normalen" OO-Verzeichnis die Einstellungen speziell f=FC= r > > Interna drinstehen. c) Ein Userspezifischer ProdTree angelegt wird, > > so er denn vom Systemweiten abweicht. d) Eigene Vorlagen f=FCr OO. > > Wobei das eine Sache ist die an- und abschaltbar sein sollte, da das > > evtl. nicht =FCberall erw=FCnscht ist. > > > > Die globale Reihenfolge hierbei w=E4re, da=DF lokale > > Einstellungen/Vorlagen Vorrang vor den systemweiten > > Einstellungen/Vorlagen haben. >=20 >=20 > Dein ganzes Konzept ist ziemlich bezogen auf die Installation unter > einem *nix-basierten System. Langfristig wollte ich aber die Struktur > so halten, dass es Systemunabh=E4ngig wird und das kann es nur sein, > wenn es keine systemspezifischen Gimmicks nutzt, wie es zum Beispiel > das Speichern der Einstellungen in einem versteckten .interna-Verzeich- > nis darstellt. Ok, da hast Du nat=FCrlich recht. Die '~/.interna' Sache lie=DFe sich zumindest unter Windows nach '...\Anwendungsdaten\interna' umbiegen, aber wie du auch weiter unten schreibst w=FCrde da=DF zus=E4tzlichen, systemangepassten Code ben=F6tigen. > Ich pers=F6nlich tendiere dazu, wenn die Userverwaltung ansteht ein > Konfigurationsverzeichnis im Programmverzeichnis mit Userdateien > oder Verzeichnissen zu erstellen und die globalen Einstellungen als > R=FCckfallwerte eben an einer default location positioniert werden. >=20 > Ich m=F6chte eben vermeiden, dass das Java-Programm je nach Betriebs- > system an verschiedenen Orten suchen muss, denn das hat zur Folge, > dass Programmspezifischer Code je System geplegt werden muss. Ja, das habe ich nicht bedacht. Ich werde mir noch ein paar Gedanken dazu machen. > Die Installationsroutine kann dann allerdings wieder massiv Systembezog= en > sein von mir aus *g :-) Diese IzInstall-Geschichte, oder wie das Ding hie=DF werde ich mir dann mal n=E4her zu Gem=FCte f=FChren. Ich denke da=DF man dann eher gleich zu einer generischen Installationsl=F6sung, die auf Java aufsetzt und damit auch prinzipiell auf allen Java-Platformen lauff=E4hig ist, =FCbergehen sollte statt jetzt noch ein Unix-Script als Installer hinterherzuschieben welches dann halt nur auf Unix l=E4uft. > > Ich werde mir jetzt am Wochenende die Datenbank mal anschauen und > > vorallendingen die beiden mitgelieferten SQL-Schemata so ab=E4ndern, > > da=DF man ohne gr=F6=DFere Editiererei die Datenbank auch mit einem U= ser !=3D > > postgres (der =FCbrigens nicht mal =FCberall so hei=DFt! Mir ist auch > > schon pgsql untergekommen) installieren kann. Ich werde auch mal ein > > Auge auf die verwendeten Datentypen werfen (Postgres bietet ein F=FCl= le > > davon) und werde, falls ich mich nicht get=E4uscht habe und das doch > > schon drin ist, bei referenzierung auf Fremdschl=FCssel gezielt einig= e > > 'REFERENCES' in die SQL-Schemata streuen. >=20 > References sollten richtig und ausreichend gesetzt sein, Datentypen Korrekt. Ich habe das =FCbersehen. > m=FCssen definitiv =FCberdacht werden. Teilweise sind vielleicht unn=F6= tige > Felder dabei. Die =C4nderungen m=FCssen dann aber auch unbedingt im > Code bedacht werden, weil ich da leider viel zu wenig flexibilit=E4t > einflie=DFen habe lassen :-\ Nein. Ich denke nicht, da=DF sich =C4nderungen im Code, die aufgrund eine= r =C4nderung der Datenbank n=F6tig sind ausschlie=DFlich auf mangelnde Flexibilit=E4t des Codes zur=FCckf=FChren lassen. Nehmen wir einfach mal = den (konstruierten) Fall in einer Tabelle =FCber verschickte Rechnungen habe ich ein Feld in dem das Datum des Verschickens festgehalten ist. Mangels besserem Wissen habe ich das als VARCHAR angelegt und es stehen Werte wie '02.11.2005' drin. Nun stelle ich fest da=DF es einen Datentyp DATE gibt, dieser das Datum in der zweckm=E4=DFigen ISO8601 Form ablegt, also '2005-11-02'. Ich werde nun auf jeden Fall =E4nderungen im Code durchf=FChren m=FCssen. Entweder mu=DF ich meinen Code grunds=E4tzlich au= f das andere Datumsformat umstellen, oder aber die select/update/insert Abfragen so modifizieren, da=DF ich mein Datumsformat beibehalten kann, e= s aber auf dem Weg von/zu der Datenbank passend umgebaut wird. So etwas l=E4=DFt sich nur vermeiden wenn man von anfang an _alles_ richt= ig macht und auch sp=E4ter nie daran denkt sein Programm einmal zu erweitern sondern immer gleich neu programmiert. Ich gehe nicht davon aus, da=DF immer alle alles richtig machen und ich denke auch da=DF es gen=FCgend Gr=FCnde gibt eine Software auch nachtr=E4= glich einmal zu erweitern. Flexibler Code tr=E4gt aber sehr dazu bei die Schmerzen beim Erweitern oder Umbauen gering zu halten. ;-) gruss f |
From: Markus P. <web...@em...> - 2005-12-02 12:55:12
|
Hallo nochmal, Frank Lorenzen schrieb: > On Tue, Nov 29, 2005 at 09:31:05PM +0100, Markus Plessing wrote: >> Hallo Frank, >> >> nat=FCrlich zerst=F6re ich gleich zu Beginn den ersten Thread, weil ic= h >> an- scheinend die Mail in meinem Mailprogramm gestern komplett >> gel=F6scht habe :-/ Im =FCbrigen musste ich mich an der Liste anmelden um Mails zu bekommen. Ich Dummerle dachte doch tats=E4chlich, dass der Listenadministrator die Mails automatisch bekommt ;-) > [...] sowas wie das Universalwerkzeug f=FCr alle F=E4lle, man k=F6nnte = auch > sagen 'der Depp f=FCr alles', was schlimm klingt aber eine > abwechslungreiche T=E4tigkeit ist. > > [...] > >>> - Die Installationsanleitung ('INSTALL') finden ich pers=F6hnlich >>> eher etwas un=FCbersichtlich. Falls bedarf besteht k=F6nnte ich da >>> mal dran schrauben. >> >> Gerne :-), die Dokumente sind gro=DFteils aus unserem internen Wiki >> kopiert und dabei gingen einige Formate verloren ... Die >> Installation hab eh immer ich durchgef=FChrt, von daher hat noch nie >> jemand die Anleitung n=E4her betrachtet :) > > > Hihi. Ich werde da mal was dran machen. Also, ich habe dich jetzt mal dreisterweise als Developer f=FCr Interna aktiviert. Treffenderweise bist du als eine "All-hands person" deklariert ;-) Im Moment hast du also: * SSH-Zugriff auf den Shellserver auf dem die Dateien zur Homepage liege= n ( incl. der OnlineDoku im HTML-Format ). $: ssh <USER>@shell.sf.net $: cd /home/groups/i/in/interna/htdocs Die Dateinamen sollten sich selbst erkl=E4ren. Shell-Autorisierung erfolgt =FCber ssh-key f=FCr <USER>@shell.sf.net Key im Useraccount hinterlegen! * Zugriff auf den Sourceforge DocManager f=FCrs Projekt=20 (schreiben, bearbeiten, l=F6schen) * Zugriff auf das Forum als Moderator Wenns mehr oder weniger sein soll m=FCssen wir das halt noch bearbeiten. > > Ich bin gerade dabei in diese Richtung etwas herumzuprobieren. Es > kann nicht so schwer sein dem OO einen anderen User-Pfad > unterzujubeln. Ein konkretes Ergebnis kann ich dir im Moment aber > noch nicht nennen. > > Meine =DCberlegung dazu war folgende: > > Interna wir ganz normal ins System installiert, also z.B. nach > /usr/local oder /opt oder sonstwohin. Es gibt eine systemweite > COnfigdatei in der z.B. die Datenbankeinstellungen festgelegt werden. > Es gibt optional au=DFerdem eine vorkonfigurierten ProdTree. > > F=FCr jeden User der Interna nutzt wird beim ersten Start ein > ~/.interna Verzeichnis angelegt, in dem a) Die Usereinstellungen, > also Sprache, Aussehen der Anwendung, usw. abgelegt werden. b) Ein > Verzeichnis f=FCr OO angelegt wird, in dem unabh=E4ngig vom evtl. > vorhandenen "normalen" OO-Verzeichnis die Einstellungen speziell f=FCr > Interna drinstehen. c) Ein Userspezifischer ProdTree angelegt wird, > so er denn vom Systemweiten abweicht. d) Eigene Vorlagen f=FCr OO. > Wobei das eine Sache ist die an- und abschaltbar sein sollte, da das > evtl. nicht =FCberall erw=FCnscht ist. > > Die globale Reihenfolge hierbei w=E4re, da=DF lokale > Einstellungen/Vorlagen Vorrang vor den systemweiten > Einstellungen/Vorlagen haben. Dein ganzes Konzept ist ziemlich bezogen auf die Installation unter einem *nix-basierten System. Langfristig wollte ich aber die Struktur so halten, dass es Systemunabh=E4ngig wird und das kann es nur sein, wenn es keine systemspezifischen Gimmicks nutzt, wie es zum Beispiel das Speichern der Einstellungen in einem versteckten .interna-Verzeich- nis darstellt. Ich pers=F6nlich tendiere dazu, wenn die Userverwaltung ansteht ein Konfigurationsverzeichnis im Programmverzeichnis mit Userdateien oder Verzeichnissen zu erstellen und die globalen Einstellungen als R=FCckfallwerte eben an einer default location positioniert werden. Ich m=F6chte eben vermeiden, dass das Java-Programm je nach Betriebs- system an verschiedenen Orten suchen muss, denn das hat zur Folge, dass Programmspezifischer Code je System geplegt werden muss. Die Installationsroutine kann dann allerdings wieder massiv Systembezogen sein von mir aus *g > Ich werde mir jetzt am Wochenende die Datenbank mal anschauen und > vorallendingen die beiden mitgelieferten SQL-Schemata so ab=E4ndern, > da=DF man ohne gr=F6=DFere Editiererei die Datenbank auch mit einem Use= r !=3D > postgres (der =FCbrigens nicht mal =FCberall so hei=DFt! Mir ist auch > schon pgsql untergekommen) installieren kann. Ich werde auch mal ein > Auge auf die verwendeten Datentypen werfen (Postgres bietet ein F=FClle > davon) und werde, falls ich mich nicht get=E4uscht habe und das doch > schon drin ist, bei referenzierung auf Fremdschl=FCssel gezielt einige > 'REFERENCES' in die SQL-Schemata streuen. References sollten richtig und ausreichend gesetzt sein, Datentypen m=FCssen definitiv =FCberdacht werden. Teilweise sind vielleicht unn=F6ti= ge Felder dabei. Die =C4nderungen m=FCssen dann aber auch unbedingt im Code bedacht werden, weil ich da leider viel zu wenig flexibilit=E4t einflie=DFen habe lassen :-\ > [...] > > cvs ansich ist nicht schwer. Es gibt daf=FCr auch grafische CLients f=FC= r > alle m=F6glichen Platformen und in manchen IDE's ist es auch drin. Ich > m=FC=DFte irgendwo noch so eine Quick-Reference f=FCr cvs haben, ich su= che > sie mal. Ich habe f=FCr mich pers=F6hnlich den CVS-Checkout von interna > in ein SVN-Repository gestopft, da ich das gerade am ausprobieren > bin. Wie ich in den News gelesen habe soll bald auch SVN unterst=FCtzt werden ... irgendwie konnte ich mich damit n=E4mlich eher identifizieren = ... Wir werden sehen :-) > > > gruss f Gr=FC=DFe Markus |
From: Frank L. <fi...@Fh...> - 2005-12-02 11:35:40
|
On Tue, Nov 29, 2005 at 09:31:05PM +0100, Markus Plessing wrote: > Hallo Frank, >=20 > nat=FCrlich zerst=F6re ich gleich zu Beginn den ersten Thread, weil ich= an- > scheinend die Mail in meinem Mailprogramm gestern komplett gel=F6scht h= abe :-/ >=20 > Ich werde jetzt einfach mal zu jeder Anmerkung so einzeln meine Gedanke= n=20 > dazuschreiben, aber zuerst will ich mich und Interna ein bisschen vorst= ellen. >=20 > Ich hei=DFe Markus Plessing, bin 27 Jahre alt und angehender Anwendungs= entwickler. > Angehend soll hei=DFen, dass ich mich in der Ausbildung befinde und die= se n=E4chstes=20 > Jahr abschlie=DFe. Ich bin in einer Firma mit Schwerpunkt Automotive un= d der > Spezialisierung auf CAN-Bus-basierte Hard- und Software angestellt. Bin= aber > eher der Allrounder, der von Microprozessorprogrammierung, =FCber Daten= bank- oder > Systemadministration bis hin zur GUI-programmierung alles so ein bisser= l macht. >=20 > Interna war am Anfang einfach nur ein Gedanke, den mein Chef in den Rau= m > warf. Mein Auftrag war mir die vorhandenen Teile einer Lexware-Software > ansehen und mir dahingehend mal was zu =FCberlegen. >=20 > Aus diesem Gedanken entstand dann der Auftrag einen plattform=FCbergrei= fend > einsetzbaren Klon dieser Software zu erstellen. Ok, dann mu=DF ich mich wohl auch mal vorstellen :-) Ich hei=DFe, wie man auch anhand der Elektropost-Adresse sehen kann, Fran= k Lorenzen, bin 28 Jahre alt habe vor geraumer Zeit eigentlich mal Elektriker gelernt, dann mal eine Weile Informatik bzw. Telekommunikation studiert habe das dann aber wieder abgebrochen weil ich nunja, wohl einfach zu Dumm dazu war ;-), mittlerweile arbeite ich in einer sehr kleinen Firma im Eisenbahnbereich (nein, ich habe nicht versucht zu umschreiben da=DF ich bei der DB arbeite, denn da arbeite ich nicht, sondern wirklich in einer sehr kleinen Eisanbahnfirma) um bin da sowas wie das Universalwerkzeug f=FCr alle F=E4lle, man k=F6nnte auch sag= en 'der Depp f=FCr alles', was schlimm klingt aber eine abwechslungreiche T=E4tigkeit ist. > Das gr=F6=DFte wohl denkbare Problem war, dass ich bis zu diesem Zeitpu= nkt > noch keine Zeile Java, geschweigedenn in einer anderen objektorientiert= en > Sprache programmiert hatte. Meine Kenntnisse beschr=E4nkten sich auf=20 > Webentwicklung in der Freizeit und einigerma=DFen ausgepr=E4gtem ANSI C. > Zu allem =DCbel war auch sonst niemand vorhanden, der Java programmiert= e, > also hie=DF es "Learning by doing" ... > (Das ist wohl auch der Grund des teilweise doch recht h=E4sslichen Code= s) Ich habe mir sowas gedacht. Aber es sind ja bekannterma=DFen noch keine Meister vom Himmel gefallen. Ich kann noch viel schlechter Programmieren als du, n=E4mlich sogutwie garnicht au=DFer ein wenig Scripterei mit sh und perl. Allerdings kann ich auf ca. 8 Jahre Erfahrung mit Unix-Systemen (Linux, *BSD und ein klein wenig Solaris) zur=FCckgreifen. Das ist ja auch schonmal was :-) > Irgendwann nach ca. 1.5 Jahren war Interna derart ausgepr=E4gt, dass me= in=20 > Chef pl=F6tzlich auf den Umstieg dr=E4ngelte und das ganze innerhalb vo= n wenigen > Wochen.In dieser Zeit sind derart viele Unsch=F6nheiten in n=F6tige, ab= er unfertige > Programmteile eingeflossen und anderseits angefangene Features komplett= raus- > geflogen, dass es teilweise Schmerzen verursachte. >=20 > Ich denke am Code von Interna kann und muss noch sehr viel besser gemac= ht=20 > werden, denn im Moment l=E4uft es einigerma=DFen stabil und in den Work= flow=20 > unserer Verwaltung integriert und nur darauf ist es eben ausgelegt. >=20 > Aber das soll erstmal genug rumgeheule sein ;-) Wenn es denn produktiv eingesetzt wird scheint es ja schon mindestens passabel zu laufen. Ich habe bisher noch nicht wirklich viel mit Interna gemacht, soda=DF ich hier sagen mu=DF 'scheint passabel zu laufen'. >=20 > > Frank Lorenzen schrieb: > > [...] > > Eigentlich geh=F6rt das eher auf eine 'devel' Liste... >=20 > Ja das ist richtig, aber ich denke eine Aufgliederung kann bei Bedarf e= rfolgen, > zumal ich den Eindruck habe, dass viele oft Hemmungen vor dem Begriff "= devel" > haben.=20 Schon ok. Ich wollte eigentlich nur keine hier in dieser Liste wohnenden User erschrecken. Aber da wir hier ja nur zu dritt sind (Du, das Listenarchiv und ich).... > > - Zun=E4chst einmal, um meinen Interessensrahmen anzugeben, ich war > > eigentlich auf der Suche nach einer Lagerverwaltung, also wieviel > > wovon lagert wo und bin dabei =FCber Interna gestolpert. Da es eine= reine > > Lagerverwaltung im OSS-Dunstkreis nicht zu geben scheint bin ich be= i > > Interna h=E4ngengeblieben da es mir aufgrund der sehr geringen Code= gr=F6=DFe > > am einfachsten erschien hieraus etwas passendes zu basteln. >=20 > Sehr interessant, denn die Produktverwaltung sollte urspr=FCnglich in e= ine komplette > Lagerverwaltung ausgebaut werden, daher auch die momentan recht sp=E4rl= iche Implementierung. > Sinnvoll ist ein Ausbau allemal, wobei die Produktverwaltung im jetzige= n Sinne und die=20 > Lagerverwaltung nur =FCber eine Schl=FCsselreferenz in der Datenbank ve= rkn=FCpft werden sollte. Ja sicher. Wenn ohnenhin schon eine Produkt-Tabelle da ist werde ich den Teufel tun und die nicht nutzen. > > - Die Installationsanleitung ('INSTALL') finden ich pers=F6hnlich ehe= r > > etwas un=FCbersichtlich. Falls bedarf besteht k=F6nnte ich da mal d= ran > > schrauben. >=20 > Gerne :-), die Dokumente sind gro=DFteils aus unserem internen Wiki kop= iert und dabei > gingen einige Formate verloren ... Die Installation hab eh immer ich du= rchgef=FChrt, von > daher hat noch nie jemand die Anleitung n=E4her betrachtet :) Hihi. Ich werde da mal was dran machen. > > - DIe Installations-Skripte sind _nur_ auf einer bash lauff=E4hig obw= ohl > > '/bin/sh' als Hashbang angegeben ist. Ebenfalls wird ein GNU-find > > vorrausgesetzt (-printf), so da=DF ich mal angefangen habe das Ding > > umzuschreiben bin aber jetzt bei ~200 Zeilen und wollte mal nachfra= gen > > ob ein portableres und erweitertes Install-Skript (Shell-Script, ke= in > > IzInstall) =FCberhaupt erw=FCnscht ist. >=20 > Ja, jeder Schritt in Richtung Portabilit=E4t ist grunds=E4tzlich erw=FC= nscht bis > das Gegenteil behauptet und begr=FCndet wird :-) >=20 > > Mittelfristig w=FCrde ich versuchen eine Installationsroutine > > hervorzubringen, die das Programm ins System installiert (also > > au=DFerhalb /home) und =FCber einen angepassten OpenOffice-aufruf d= ie > > Notwendigkeit von diesem sudo-gefrickel aufhebt. >=20 > Dieses h=E4ssliche sudo-gefrickel soll ja die Usereinstellungen von Ope= nOffice > sch=FCtzen, weil von Interna einige Men=FCs in OOo ausgeblendet werden = sollen ... > Wenn das eleganter geht zeige ich mich sehr erfreut.=20 Ich bin gerade dabei in diese Richtung etwas herumzuprobieren. Es kann nicht so schwer sein dem OO einen anderen User-Pfad unterzujubeln. Ein konkretes Ergebnis kann ich dir im Moment aber noch nicht nennen. Meine =DCberlegung dazu war folgende: Interna wir ganz normal ins System installiert, also z.B. nach /usr/local oder /opt oder sonstwohin. Es gibt eine systemweite COnfigdatei in der z.B. die Datenbankeinstellungen festgelegt werden. Es gibt optional au=DFerdem eine vorkonfigurierten ProdTree. F=FCr jeden User der Interna nutzt wird beim ersten Start ein ~/.interna Verzeichnis angelegt, in dem a) Die Usereinstellungen, also Sprache, Aussehen der Anwendung, usw. abgelegt werden. b) Ein Verzeichnis f=FCr OO angelegt wird, in dem unabh=E4ngig vom evtl. vorhandenen "normalen" OO-Verzeichnis die Einstellungen speziell f=FCr Interna drinstehen. c) Ein Userspezifischer ProdTree angelegt wird, so er denn vom Systemweiten abweicht. d) Eigene Vorlagen f=FCr OO. Wobei das eine Sache ist die an- und abschaltbar sein sollte, da das evtl. nicht =FCberall erw=FCnscht ist. Die globale Reihenfolge hierbei w=E4re, da=DF lokale Einstellungen/Vorlag= en Vorrang vor den systemweiten Einstellungen/Vorlagen haben. > > - Da ich ja eigentlich eine Lagerwerwaltung haben wollte habe ich dam= it > > angefangen die Datenbank ein wenig zu erweitern und den Code > > (ProductFrame ersteinmal) umzuschreiben und was ich da so sah hat m= ich > > zwar nicht erschreckt aber auch nicht wirklich begeistert, >=20 > s.o.=20 >=20 > > insbesondere ein 'select * from ...' sollte mal so eigentlich nicht > > schreiben wenn man es hinterher in eine Tabelle mit benamnten Spalt= en > > stopfen will.=20 >=20 > Wei=DF ich zwar jetzt im Moment nicht genau wo das so steht, aber das i= st > nicht unbedingt Vorteilhaft, ja. Allgemein die Abfragen k=F6nnen wahrsc= heinlich > verbessert werden, aber da bin ich auch kein wirklicher Spezialist ...=20 > Was man eben so mal aufschnappt oder gezielt such in Bezug auf SQL. Das war einfach so eine Sache die mir direkt ins Gesicht gesprungen ist, ich habe nicht gezielt gesucht oder so. > > Die Tabellenstruktur selbst k=F6nnte wohl, ohne mir die > > jetzt intensiv angeschaut zu haben, auch ein wenig verbesserung > > erfahren, aber das steht ja auch auf der Webseite. > > Ich mu=DF aber hinzuf=FCgen da=DF ich weder ein Programmier- noch e= in > > Datenbank-Spezialist bin.=20 >=20 > Die Datenbankstruktur verbirgt denke ich so einiges an Unsch=F6nheiten = ... > Ein ge=FCbter Datenbankdesigner kriegt wohl vor allem auch bei die verw= endeten > Datentypen einen Weinkrampf und einige Sachen werden auch unn=F6tigerwe= ise > gespeichert. Aber das Bedarf einer tiefgehenden Analyse. Ich werde mir jetzt am Wochenende die Datenbank mal anschauen und vorallendingen die beiden mitgelieferten SQL-Schemata so ab=E4ndern, da=DF man ohne gr=F6=DFere Editiererei die Datenbank auch mit einem User !=3D postgres (der =FCbrigens nicht mal =FCberall so hei=DFt! Mir ist auch sch= on pgsql untergekommen) installieren kann. Ich werde auch mal ein Auge auf die verwendeten Datentypen werfen (Postgres bietet ein F=FClle davon) und werde, falls ich mich nicht get=E4uscht habe und das doch schon drin ist, bei referenzierung auf Fremdschl=FCssel gezielt einige 'REFERENCES' in di= e SQL-Schemata streuen. > > - Apropos Webseite: Dem Mail-Link w=FCrde es auch nicht schaden wenn = ihn > > auch nicht-sourceforge-members nutzen k=F6nnten, oder ist das so > > gew=FCnscht? >=20 > Wusste ich gar nicht, dass das Mailformular nur von Sourceforge-Mitglie= dern > benutzt werden kann. Da Bedarf es dann nat=FCrlich noch einer Erweiteru= ng. > =20 > > - Im der Produkt=FCbersicht und an anderen Stellen wird immer 'ProdID= ' mit > > angezeigt (Serial, Primary Key) das ist doch eigenlich unn=F6tig (d= as > > Anzeigen) oder habe ich da was nicht verstanden? >=20 > Die ID ist irgendwann mal zu den Tabellen (sichtbar) dazugekommen, weil= =20 > in der Debugphase die Damen aus der Verwaltung mir dieser ID gezieltere > Probleminformationen geben konnten. Also ich wu=DFte direkt wo ich in d= er=20 > Datenbank zu suchen hatte, weil am Anfang durch die Datenbank=FCbernahm= e > auch viele Probleme durch falsche Werte in der Datenbank entstanden. Ah, so kam das zustande. > Die kann nat=FCrlich auch ausgeblendet werden, aber als Referenz zum Da= tensatz > sollte sie einfach mal in der Tabelle stehen bleiben (unsichtbar). Ja klar. Nat=FCrlich. Ich schrieb ja auch 'das Anzeigen'. =20 > > Das war jetzt mal der erste Braindump. Ich habe bestimmt noch was > > vergessen, das ist immer so. Ich m=F6chte allerdings auch nicht falsc= h > > r=FCberkommen als jemand der nur n=F6rgelt bzw. fordert, da ich durch= aus an > > der aktiven Mitarbeit interessiert bin.=20 >=20 > Nein ich freue mich endlich ein wenig Feedback zu bekommen und f=FCr "m= ein" Projekt > Mitstreiter zu finden, die n=F6tig sind um die Software nutzbar zu mach= en. > Interna soll schlie=DFlich f=FCr m=F6glichst viele n=FCtzlich sein und = bis dahin ist noch=20 > ein gutes St=FCck Weg zur=FCckzulegen. >=20 > > Ich wollte jedoch zun=E4chst > > ersteinmal nachfragen wie denn so die Meinung zu den von mir angef=FC= hrten > > Punkten ist. Au=DFerdem gehe ich mal davon aus, da=DF ich hier auf di= eser > > Liste auch bestimmt einer der ersten bin die hier was schreiben. Soll= te > > ich mich darin t=E4uschen: Shame on me. >=20 > Du bist der Erste! Richtig. >=20 > Abschlie=DFend sei noch gesagt, dass ich mich auch noch nicht komplett = in die=20 > M=F6glichkeiten von Sourceforge eingearbeitet habe, z.B. bin ich im Umg= ang mit=20 > CVS noch nicht so richtig ge=FCbt. cvs ansich ist nicht schwer. Es gibt daf=FCr auch grafische CLients f=FCr alle m=F6glichen Platformen und in manchen IDE's ist es auch drin. Ich m=FC=DFte irgendwo noch so eine Quick-Reference f=FCr cvs haben, ich = suche sie mal. Ich habe f=FCr mich pers=F6hnlich den CVS-Checkout von interna in ein SVN-Repository gestopft, da ich das gerade am ausprobieren bin. > Gr=FC=DFe >=20 > Markus gruss f |
From: Markus P. <web...@em...> - 2005-11-29 20:28:46
|
Hallo Frank, nat=FCrlich zerst=F6re ich gleich zu Beginn den ersten Thread, weil ich a= n- scheinend die Mail in meinem Mailprogramm gestern komplett gel=F6scht hab= e :-/ Ich werde jetzt einfach mal zu jeder Anmerkung so einzeln meine Gedanken = dazuschreiben, aber zuerst will ich mich und Interna ein bisschen vorstel= len. Ich hei=DFe Markus Plessing, bin 27 Jahre alt und angehender Anwendungsen= twickler. Angehend soll hei=DFen, dass ich mich in der Ausbildung befinde und diese= n=E4chstes=20 Jahr abschlie=DFe. Ich bin in einer Firma mit Schwerpunkt Automotive und = der Spezialisierung auf CAN-Bus-basierte Hard- und Software angestellt. Bin a= ber eher der Allrounder, der von Microprozessorprogrammierung, =FCber Datenba= nk- oder Systemadministration bis hin zur GUI-programmierung alles so ein bisserl = macht. Interna war am Anfang einfach nur ein Gedanke, den mein Chef in den Raum warf. Mein Auftrag war mir die vorhandenen Teile einer Lexware-Software ansehen und mir dahingehend mal was zu =FCberlegen. Aus diesem Gedanken entstand dann der Auftrag einen plattform=FCbergreife= nd einsetzbaren Klon dieser Software zu erstellen. Das gr=F6=DFte wohl denkbare Problem war, dass ich bis zu diesem Zeitpunk= t noch keine Zeile Java, geschweigedenn in einer anderen objektorientierten= Sprache programmiert hatte. Meine Kenntnisse beschr=E4nkten sich auf=20 Webentwicklung in der Freizeit und einigerma=DFen ausgepr=E4gtem ANSI C. Zu allem =DCbel war auch sonst niemand vorhanden, der Java programmierte,= also hie=DF es "Learning by doing" ... (Das ist wohl auch der Grund des teilweise doch recht h=E4sslichen Codes)= Irgendwann nach ca. 1.5 Jahren war Interna derart ausgepr=E4gt, dass mein= =20 Chef pl=F6tzlich auf den Umstieg dr=E4ngelte und das ganze innerhalb von = wenigen Wochen.In dieser Zeit sind derart viele Unsch=F6nheiten in n=F6tige, aber= unfertige Programmteile eingeflossen und anderseits angefangene Features komplett r= aus- geflogen, dass es teilweise Schmerzen verursachte. Ich denke am Code von Interna kann und muss noch sehr viel besser gemacht= =20 werden, denn im Moment l=E4uft es einigerma=DFen stabil und in den Workfl= ow=20 unserer Verwaltung integriert und nur darauf ist es eben ausgelegt. Aber das soll erstmal genug rumgeheule sein ;-) > Frank Lorenzen schrieb: > [...] > Eigentlich geh=F6rt das eher auf eine 'devel' Liste... Ja das ist richtig, aber ich denke eine Aufgliederung kann bei Bedarf erf= olgen, zumal ich den Eindruck habe, dass viele oft Hemmungen vor dem Begriff "de= vel" haben.=20 > - Zun=E4chst einmal, um meinen Interessensrahmen anzugeben, ich war > eigentlich auf der Suche nach einer Lagerverwaltung, also wieviel > wovon lagert wo und bin dabei =FCber Interna gestolpert. Da es eine r= eine > Lagerverwaltung im OSS-Dunstkreis nicht zu geben scheint bin ich bei > Interna h=E4ngengeblieben da es mir aufgrund der sehr geringen Codegr= =F6=DFe > am einfachsten erschien hieraus etwas passendes zu basteln. Sehr interessant, denn die Produktverwaltung sollte urspr=FCnglich in ein= e komplette Lagerverwaltung ausgebaut werden, daher auch die momentan recht sp=E4rlic= he Implementierung. Sinnvoll ist ein Ausbau allemal, wobei die Produktverwaltung im jetzigen = Sinne und die=20 Lagerverwaltung nur =FCber eine Schl=FCsselreferenz in der Datenbank verk= n=FCpft werden sollte. > - Die Installationsanleitung ('INSTALL') finden ich pers=F6hnlich eher > etwas un=FCbersichtlich. Falls bedarf besteht k=F6nnte ich da mal dra= n > schrauben. Gerne :-), die Dokumente sind gro=DFteils aus unserem internen Wiki kopie= rt und dabei gingen einige Formate verloren ... Die Installation hab eh immer ich durc= hgef=FChrt, von daher hat noch nie jemand die Anleitung n=E4her betrachtet :) =20 > - DIe Installations-Skripte sind _nur_ auf einer bash lauff=E4hig obwoh= l > '/bin/sh' als Hashbang angegeben ist. Ebenfalls wird ein GNU-find > vorrausgesetzt (-printf), so da=DF ich mal angefangen habe das Ding > umzuschreiben bin aber jetzt bei ~200 Zeilen und wollte mal nachfrage= n > ob ein portableres und erweitertes Install-Skript (Shell-Script, kein= > IzInstall) =FCberhaupt erw=FCnscht ist. Ja, jeder Schritt in Richtung Portabilit=E4t ist grunds=E4tzlich erw=FCns= cht bis das Gegenteil behauptet und begr=FCndet wird :-) > Mittelfristig w=FCrde ich versuchen eine Installationsroutine > hervorzubringen, die das Programm ins System installiert (also > au=DFerhalb /home) und =FCber einen angepassten OpenOffice-aufruf die= > Notwendigkeit von diesem sudo-gefrickel aufhebt. Dieses h=E4ssliche sudo-gefrickel soll ja die Usereinstellungen von OpenO= ffice sch=FCtzen, weil von Interna einige Men=FCs in OOo ausgeblendet werden so= llen ... Wenn das eleganter geht zeige ich mich sehr erfreut.=20 =20 > - Da ich ja eigentlich eine Lagerwerwaltung haben wollte habe ich damit= > angefangen die Datenbank ein wenig zu erweitern und den Code > (ProductFrame ersteinmal) umzuschreiben und was ich da so sah hat mic= h > zwar nicht erschreckt aber auch nicht wirklich begeistert, s.o.=20 > insbesondere ein 'select * from ...' sollte mal so eigentlich nicht > schreiben wenn man es hinterher in eine Tabelle mit benamnten Spalten= > stopfen will.=20 Wei=DF ich zwar jetzt im Moment nicht genau wo das so steht, aber das ist= nicht unbedingt Vorteilhaft, ja. Allgemein die Abfragen k=F6nnen wahrsche= inlich verbessert werden, aber da bin ich auch kein wirklicher Spezialist ...=20 Was man eben so mal aufschnappt oder gezielt such in Bezug auf SQL. > Die Tabellenstruktur selbst k=F6nnte wohl, ohne mir die > jetzt intensiv angeschaut zu haben, auch ein wenig verbesserung > erfahren, aber das steht ja auch auf der Webseite. > Ich mu=DF aber hinzuf=FCgen da=DF ich weder ein Programmier- noch ein= > Datenbank-Spezialist bin.=20 Die Datenbankstruktur verbirgt denke ich so einiges an Unsch=F6nheiten ..= =2E Ein ge=FCbter Datenbankdesigner kriegt wohl vor allem auch bei die verwen= deten Datentypen einen Weinkrampf und einige Sachen werden auch unn=F6tigerweis= e gespeichert. Aber das Bedarf einer tiefgehenden Analyse. =20 > - Apropos Webseite: Dem Mail-Link w=FCrde es auch nicht schaden wenn ih= n > auch nicht-sourceforge-members nutzen k=F6nnten, oder ist das so > gew=FCnscht? Wusste ich gar nicht, dass das Mailformular nur von Sourceforge-Mitgliede= rn benutzt werden kann. Da Bedarf es dann nat=FCrlich noch einer Erweiterung= =2E =20 > - Im der Produkt=FCbersicht und an anderen Stellen wird immer 'ProdID' = mit > angezeigt (Serial, Primary Key) das ist doch eigenlich unn=F6tig (das= > Anzeigen) oder habe ich da was nicht verstanden? Die ID ist irgendwann mal zu den Tabellen (sichtbar) dazugekommen, weil=20 in der Debugphase die Damen aus der Verwaltung mir dieser ID gezieltere Probleminformationen geben konnten. Also ich wu=DFte direkt wo ich in der= =20 Datenbank zu suchen hatte, weil am Anfang durch die Datenbank=FCbernahme auch viele Probleme durch falsche Werte in der Datenbank entstanden. Die kann nat=FCrlich auch ausgeblendet werden, aber als Referenz zum Date= nsatz sollte sie einfach mal in der Tabelle stehen bleiben (unsichtbar). =20 > Das war jetzt mal der erste Braindump. Ich habe bestimmt noch was > vergessen, das ist immer so. Ich m=F6chte allerdings auch nicht falsch > r=FCberkommen als jemand der nur n=F6rgelt bzw. fordert, da ich durchau= s an > der aktiven Mitarbeit interessiert bin.=20 Nein ich freue mich endlich ein wenig Feedback zu bekommen und f=FCr "mei= n" Projekt Mitstreiter zu finden, die n=F6tig sind um die Software nutzbar zu machen= =2E Interna soll schlie=DFlich f=FCr m=F6glichst viele n=FCtzlich sein und bi= s dahin ist noch=20 ein gutes St=FCck Weg zur=FCckzulegen. > Ich wollte jedoch zun=E4chst > ersteinmal nachfragen wie denn so die Meinung zu den von mir angef=FChr= ten > Punkten ist. Au=DFerdem gehe ich mal davon aus, da=DF ich hier auf dies= er > Liste auch bestimmt einer der ersten bin die hier was schreiben. Sollte= > ich mich darin t=E4uschen: Shame on me. Du bist der Erste! Richtig. Abschlie=DFend sei noch gesagt, dass ich mich auch noch nicht komplett in= die=20 M=F6glichkeiten von Sourceforge eingearbeitet habe, z.B. bin ich im Umgan= g mit=20 CVS noch nicht so richtig ge=FCbt. =20 Gr=FC=DFe Markus |
From: Frank L. <fi...@Fh...> - 2005-11-28 21:44:06
|
Hi, i havn't found any Information about preferred Languages on this List, so i hope german isn't unaccepteable here. Ich bin gerade dabei ein wenig mit Interna herumzuspielen und mir sind dabei ein paar Bemerkungen eingefallen: Eigentlich geh=F6rt das eher auf eine 'devel' Liste... - Zun=E4chst einmal, um meinen Interessensrahmen anzugeben, ich war eigentlich auf der Suche nach einer Lagerverwaltung, also wieviel wovon lagert wo und bin dabei =FCber Interna gestolpert. Da es eine rei= ne Lagerverwaltung im OSS-Dunstkreis nicht zu geben scheint bin ich bei Interna h=E4ngengeblieben da es mir aufgrund der sehr geringen Codegr=F6= =DFe am einfachsten erschien hieraus etwas passendes zu basteln. - Die Installationsanleitung ('INSTALL') finden ich pers=F6hnlich eher etwas un=FCbersichtlich. Falls bedarf besteht k=F6nnte ich da mal dran schrauben. - DIe Installations-Skripte sind _nur_ auf einer bash lauff=E4hig obwohl '/bin/sh' als Hashbang angegeben ist. Ebenfalls wird ein GNU-find vorrausgesetzt (-printf), so da=DF ich mal angefangen habe das Ding umzuschreiben bin aber jetzt bei ~200 Zeilen und wollte mal nachfragen ob ein portableres und erweitertes Install-Skript (Shell-Script, kein IzInstall) =FCberhaupt erw=FCnscht ist. Mittelfristig w=FCrde ich versuchen eine Installationsroutine hervorzubringen, die das Programm ins System installiert (also au=DFerhalb /home) und =FCber einen angepassten OpenOffice-aufruf die Notwendigkeit von diesem sudo-gefrickel aufhebt. - Da ich ja eigentlich eine Lagerwerwaltung haben wollte habe ich damit angefangen die Datenbank ein wenig zu erweitern und den Code (ProductFrame ersteinmal) umzuschreiben und was ich da so sah hat mich zwar nicht erschreckt aber auch nicht wirklich begeistert, insbesondere ein 'select * from ...' sollte mal so eigentlich nicht schreiben wenn man es hinterher in eine Tabelle mit benamnten Spalten stopfen will. Die Tabellenstruktur selbst k=F6nnte wohl, ohne mir die jetzt intensiv angeschaut zu haben, auch ein wenig verbesserung erfahren, aber das steht ja auch auf der Webseite. Ich mu=DF aber hinzuf=FCgen da=DF ich weder ein Programmier- noch ein Datenbank-Spezialist bin.=20 - Apropos Webseite: Dem Mail-Link w=FCrde es auch nicht schaden wenn ihn auch nicht-sourceforge-members nutzen k=F6nnten, oder ist das so gew=FCnscht? - Im der Produkt=FCbersicht und an anderen Stellen wird immer 'ProdID' mi= t angezeigt (Serial, Primary Key) das ist doch eigenlich unn=F6tig (das Anzeigen) oder habe ich da was nicht verstanden? Das war jetzt mal der erste Braindump. Ich habe bestimmt noch was vergessen, das ist immer so. Ich m=F6chte allerdings auch nicht falsch r=FCberkommen als jemand der nur n=F6rgelt bzw. fordert, da ich durchaus = an der aktiven Mitarbeit interessiert bin. Ich wollte jedoch zun=E4chst ersteinmal nachfragen wie denn so die Meinung zu den von mir angef=FChrte= n Punkten ist. Au=DFerdem gehe ich mal davon aus, da=DF ich hier auf dieser Liste auch bestimmt einer der ersten bin die hier was schreiben. Sollte ich mich darin t=E4uschen: Shame on me. gruss f |