AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
21.09.21 - 18:48:35
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino Sonstiges
| |-+  Projekt Bereich (Moderator: Hoshee)
| | |-+  Buchprojekt: Lotus Script
« vorheriges nächstes »
Seiten: [1] 2 3 Nach unten Drucken
Autor Thema: Buchprojekt: Lotus Script  (Gelesen 32183 mal)
eknori
@Notes Preisträger
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 11561


« am: 28.08.03 - 17:29:00 »

Hallo,

ich habe mir im Urlaub überlegt, ein Buch über Lotus Script zu schreiben. Die Zielgruppe sollen Anfänger sein. Nachdem ich so einige Bücher zu LS gesichtet habe, habe ich mir überlegt, ob man das Thema einem Anfänger nicht in einer anderen, praxisbezogeneren Form nahezubringen.

Daher habe ich mir überlegt, mir eine Problemstellung herauszupicken, die sich quasi als roter Faden durch das Buch zieht. Dabei sollen möglichst viele Klassen, Methoden und Eigenschaften abgedeckt werden.

Das Beispiel soll dabei so strukturiert werden können, daß ein Kapitel auf das andere aufbaut; am Ende hat man dann die komplette Lösung.

Ich habe da schon was im Kopf; mich würde aber eure Meinung interessieren. Damit kann ich dann einen Crosscheck machen, ob ich auf dem richtigen Weg bin.

Was wäre so für euch ein Thema, das man in Einzelschritte zerlegen kann und am Ende eine strukturierte und nachvollziehbare Lösung hat ?

lasst mal hören...

eknori

Gespeichert
Driri
Gast
« Antworten #1 am: 28.08.03 - 17:44:31 »

Hi,

also was mir so spontan einfällt wäre ein Kontaktmanagement. Da lassen sich denke ich ziemlich viele Dinge drin abbilden, angefangen bei Antwortdokumenten, Workflowprogrammierung, Leserfelder, etc. bis hin zu Dateihandling, Export nach Excel, Import von Texten, Übernahme von Mails aus persönlichen Maildatenbanken und Zuordnung zu bestehenden Vorgängen.
Das ganze ließe sich dann auch in Richtung Webentwicklung fortsetzen oder in Anbindung an relationale Datenbanken für Stammdatenabgleich etc.
Gespeichert
eknori
@Notes Preisträger
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 11561


« Antworten #2 am: 28.08.03 - 17:54:14 »

Danke dir für deine Anregung; werde ich mal sehen, wie ich das unterbringen kann.

Soweit vorweg: das erste Kapitel wird sich mit der Entwicklungsumgebung und dem Sinn, Zweck und Nutzen des Debuggers befassen. Meiner Meinung nach wird der Debugger gerade auch von Anfängern in der LS-Programmierung nicht genutzt; ds Teil ist aber Gold wert; so mancher Fehler wird erst im Debugger transparent. Beherrscht man erst einmal das Debugging, ist das Coding kein Problem mehr ( eigene Meinung )

eknori
Gespeichert
MartinG
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 3802



« Antworten #3 am: 28.08.03 - 20:27:53 »

...coole Aktion - ich bin auf jeden Fall der erste Käufer, natürlich nur mit persönlicher Signatur des Authors.

Mache jetzt schon seit zwei Jahren ein grossen Bogen um LotusScript und bekomme es nie gebacken mich mal wirklich reinzuhängen...
Gespeichert

Martin
Wir leben zwar alle unter dem gleichen Himmel, aber wir haben nicht den gleichen Horizont.
KONRAD ADENAUER
eknori
@Notes Preisträger
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 11561


« Antworten #4 am: 28.08.03 - 21:18:41 »

@MartinG:

und ? woran liegt es ?? wo siehst du die Probleme ode Schwierigkeiten ?
Wo ist der Heken, sich " mal wirklich reinzuhängen" ?

Alles das interessiert mich.

eknori
Gespeichert
TMC
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 3660


meden agan


« Antworten #5 am: 28.08.03 - 21:26:42 »

Coole Sache das mit dem Projekt, Eknori  Smiley

Ich hoffe nur Du bist ausdauernd und hast genügend Zeit für das Buch, ich persönlich wäre dann evtl. mit 70% fertig und hätte schon wieder neues im Sinn :-)
Ich melde mich aber schonmal als 2. Käufer an  Grin

Wenn Du ein Einsteiger-Buch machst, solltest Du evtl. überlegen, welche wirkliche Zielgruppe:
 a) Leute die schon mal Basic, VB, C etc. programmiert haben
 b) Leute, die zumindest Summewenn, SVERWEIS, etc. in Excel gemacht haben
 c) reiner intelligenter Anwender ohne Programmierkenntnisse in anderen Sprachen
 d) echte DAUs

Ich würde (b) empfehlen, oder ein Mittelding zwischen (a) und (b)

bye,
TMC
(zähle mich auch noch zu Script-Anfängern, obwohl ich schon mehrere 3-10-Zeiler realisiert habe...)
« Letzte Änderung: 28.08.03 - 21:27:33 von TMC » Gespeichert

Matthias

A good programmer is someone who looks both ways before crossing a one-way street.

eknori
@Notes Preisträger
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 11561


« Antworten #6 am: 28.08.03 - 21:36:40 »

@TMC

ich gehe eigentlich erst eimal von d) aus

alles ander wäre schon wieder zu speziell

export2excel oder ähnliches ? da musst du erst einmal die grundbegriffe beherrschen.
Klar haben viele schon mal nen 3 zeiler in VB oder VBA gecodet.

Wenn ich mir aber hier die postings manchmal anscheue; da fehlt es echt an den GRUNDLAGEN

Und darum get es mir; Grundlagenwissen zu vermitteln; und dann noch in einer Form, die nicht zu Schulmeisterich oder "trocken" ist.

Am liebsten würde ich das in Form eines Romans machen ala Tom de Marco " Warum ist Software so teuer"

eknori
Gespeichert
TMC
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 3660


meden agan


« Antworten #7 am: 28.08.03 - 21:47:56 »

Hmm, stimmt, da hast Du Recht. Und "spezielle" Bücher zu Script gibts ja schon....

OK, mal ein paar Tipps was so rein sollte aus meiner Sicht:
 - Frontend / Backend (simple Erklärung)
 - Was ist eine "Klasse", hat das was mit einer Schulklasse zu tun? (also eben simpel erklärt....), to be continued mit anderen Dingen....
 - Warum brauche ich denn diese DIMs, was ist der Unterschied zwischen den DIM'S und SET's?
 - klar, Variablen vergeben sollte auch erklärt werden, auch wann man was global vergeben sollte

Dann noch:
 - viele Beispiele, dafür würde ich ein extra Kapitel machen!
     z.B. bei Dokumenten (hin- und herschaufeln zwischen DB's, mit und ohne Kopie, Felder dabei ändern, etc.)




wenn mir noch was einfällt poste ich, lieber jetzt vollstopfen diesen Thread als nachher jammern, dass vieles nicht erklärt wird im Buch Smiley

hth,
TMC
« Letzte Änderung: 28.08.03 - 21:50:05 von TMC » Gespeichert

Matthias

A good programmer is someone who looks both ways before crossing a one-way street.

eknori
@Notes Preisträger
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 11561


« Antworten #8 am: 28.08.03 - 21:58:14 »

ja, das kommt meinen vorstllungen schon recht nahe.

was sind denn so die grundlegenden aktionen, die man in einer DB macht ?

- irgendwas mit strings (implode/explode/verbinden/teilen)
- zugriff auf ein doc
- auslesen von feldern
- schreiben/verändern von feldern
- bestimmte docs suchen

das ist doch das, was der Anfänger macht; aus der Aufzählung ergeben sich dann Kombinationen wie

- docs in anderen db suchen ...

alles das sollte dann logisch aufeinander aufbauen, also nicht nach den Stil: OK jetzt habe ich dir erklärt, wie die 4. Methode der 12. Klasse funzt; das geht auch auf fremde Datenbanke, OK ?? Nö, dann lies noch mal von Kapitel 2 an.

So nicht

Gespeichert
TMC
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 3660


meden agan


« Antworten #9 am: 28.08.03 - 22:12:31 »

und dann vielleicht noch
 - wie finde ich mich in der Designerhilfe zurecht  Grin (wenn man hier so manche Threads liest, so glaubt man doch manchmal, dies sollte geschult werden)
 - RTF inkl. der damit verbundenen Einschränkungen
 - wann nimmt man besser nicht Script her sondern Formelsprache oder auch Formel in Script - oder die Vorteile der Formel in manchen Situationen....
 - in einem der letzten Kapitel: Schnittstellen, etc.
    * API (aber nur kurz, also dass es da was gibt, womit man aus Notes raus kann.... ; und wo man das "einstellt" in Notes; danach Verweis auf externe Quellen für die Interessierten...)
   * Zugriff auf andere DBs über ODBC (aber bitte auch nur anschneiden als Denkanstoss das Notes das auch kann)
Wird zwar dann komplex, aber ich denke viele würden auch gerne mal an die Daten des Warenwirtschaftssystems, etc..... Daher vielleicht aufzeigen dass es da was gibt.....

to be continued......

TMC
Gespeichert

Matthias

A good programmer is someone who looks both ways before crossing a one-way street.

eknori
@Notes Preisträger
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 11561


« Antworten #10 am: 28.08.03 - 22:18:07 »

das mit der Hilfe ist SEHR gut; viele Bespile werden aus der Hilfe genommen werden; da wir auch immer schön ein Hinweis zu sehen sein.

API ... ok, aber warum API, wenn man das auch mit native Notes lösen kann.

- evaluate wird ein eigenes Kapitel bekommen



Gespeichert
TMC
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 3660


meden agan


« Antworten #11 am: 28.08.03 - 22:30:20 »

Nochmal zur Designer-Help:

War für mich am Anfang auch super umständlich muss ich zugeben.

Da klappt man in der R5 Designerhelp "Lotus Script Sprachreferenz" auf und man wird erschlagen. Evtl. weiss man nicht mal als Anfänger, was "function" ist, was "statement" ist.

Z.B. der Einsteiger sucht einen Befehl, wie er denn das momentan aktive Dok schließen kann.
OK denkt sich der Beginner, ich suche nach "Close" oder sowas, dann findet er darin ein "Close statement", öffnet das Dokument und ist dann völlig desmotiviert weil folgendes kommt:
Zitat
Open "c:\rab.asc" For Input Access Read Shared As 1 Len = 128
Close #1

Also sowas sollte auch irgendwie über's Buch abgedeckt sein, das schlimmste wäre eine Desmotivation des anfänglich motivierten Neulings....


TMC
Gespeichert

Matthias

A good programmer is someone who looks both ways before crossing a one-way street.

eknori
@Notes Preisträger
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 11561


« Antworten #12 am: 28.08.03 - 22:41:39 »

da hast du recht;

mein Ziel ist es nicht, einen umfassenden Überblick über LS zu geben. Vielmehr soll im Vordergrund stehen, die Grundlagen zu vermitteln, will heißen, wenn ich erst einmal begriffen habe, was Frontend/Backend bedeuet und mich auch mit der Terminologie der Klassen zurechtfinde, dann sollte es mir auch nicht schwer fallen, di entsprechenden Methoden und Eigenschaften in der Hilfe zu finden.

Kein Buch kann das Selbststudium ode den Selbstversuch ersetzen; auch ich kann nur versuchen dem Leser einen entsprechenden Schubs in die richtige Richtung zu geben.

Die Hilfe ist eine wahre Fundgrube an Lösungen, wenn man erst einmal weiss, wo man überhaupt suchen muss/soll
Gespeichert
Axel_Janssen
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 769



« Antworten #13 am: 28.08.03 - 23:10:04 »

1. law and order


- warum und wie Errorhandling
- divide and conquer (Aufgaben in kleine Teilaufgaben aufteilen und diese in Funktionen/Subroutinen bearbeiten).
- Aufbau von eigenen Scriptlibraries und was ist vorhanden im Netz
- upfrontplanning und Grenzen von upfrontplanning

2. Einführung in "advanctere" Konzepte von LotusScript
- List, Variant Datentyp
- Type, Class
Außer vielleicht Class sind die restlichen Dinge schnell zu erklären und zu nutzen und gelten IMHO bei vielen unnötigerweise als obskur.
« Letzte Änderung: 28.08.03 - 23:11:17 von Axel_Janssen » Gespeichert

... design patterns are abstract designs that help identify the structure and elements involved in a specific design solution. From this, a concrete implementation can be produced.
Kyle Brown
eknori
@Notes Preisträger
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 11561


« Antworten #14 am: 28.08.03 - 23:49:03 »

zu 1. )

da komme ich aber schnell in eine schiene, die eigentlich für ALLE Programmierspachen gilt.

Zitat
- divide and conquer (Aufgaben in kleine Teilaufgaben aufteilen und diese in Funktionen/Subroutinen bearbeiten).
genau das ist mein Ansatz; frei nach dem Motto: " Ich habe NULL Ahnung, aber mei Oberindianer hat mal wieder einen Wunsch"

Am Ende des Buches  steht eine funktionierende Anwendung; wie komme ich dahin.
Wobei mir vorschwebt, daß diese im Laufe des Buches zu entwickelde Anwendung nur eine MÖGLICHKEIT darstellt.
Kapitel für Kapitel soll der Leser in der Lage sein auf Grund des Gelernten eigene Wege zu gehen.

Ob mir dies gelingt, weiß ich noch nicht.  Mein Ziel ist es, dem Leser das Gefühl zu geben, die "Rettungsleine" loszulassen, mit dem guten Gefühl zu wissen, dass er den weiteren weg selbsttätig beschreiten kann, er aber immer wieder den Wiedereinstieg wagen kann; dann setzt er halt wieder an der stelle auf, wo er meinen weg verlassen hat.

Für Leute, die anhand von Index & Co eine schnelle Lösung suchen wird das werk nicht geeignet sein.

endziel wird es nach minem Konzept sein, alle entwickelten Funktionen und Subs in eine ScriptLip zu packen... Soviel dann zum Thema Wiederverwendbarkeit

Ob daraus eine Class wird; ich weiß es noch nicht

eknori
Gespeichert
MartinG
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 3802



« Antworten #15 am: 29.08.03 - 08:04:46 »

Zitat
@MartinG:

und ? woran liegt es ?? wo siehst du die Probleme ode Schwierigkeiten ?
Wo ist der Heken, sich " mal wirklich reinzuhängen" ?

Ich bin von Haus aus halt kein Informatiker und bei objektorientierter Programmierung fehlen mir halt einfach eine Menge Grundlagen. Ich konnte früher mal ganz gut C programmieren - allerdings kein C++. Inzwischen bin ich halt zu 70% Admin für Notes und Windows und zu 30% programmiere ich noch Notesdatenbanken. Dabei komme ich zu 95% auch ohne Lotus Script klar, bzw. spare dieses dann halt aus. Lotus Script Code habe ich eine Menge in meinen Datenbanken im Einsatz - das meiste halt aus der Sandbox oder aus Deiner Schatzkiste. Meistens bekomme ich es dann auch hin das das ganze irgendwie bei mir auch läuft.

Es fehlen einfach eine Menge Basics - nur ein Beispiel ich weiss glaube in etwa was der Unterschied zwischen FrontEnd und BackEnd ist. Im Notes6 Entwicklerforum postet einer eine Frage was er für Felder für einen Kalendereintrag füllen muss. Ich habe mir mal ein Script kopiert und habe es Ihm da gepostet. Jetzt ist es wohl aber so das wenn man einen Kalendereintrag im BackEnd erzeugt das man dann noch viel mehr Felder füllen muss wie im FrontEnd? Und dann fehlen einfach auch noch andere Grundlagen - was sind Klassen, was sind Objekte - so ungefähr weiss ich das schon, aber irgendwie doch nicht so richtig?

Vermutlich wäre der Grundansatz für ein verständliches Buch eine Einführung in die objektorientierte Programmierung und dann den Bogen zu LotusScript zu bekommen? Ich habe mir schon häufiger mal in einem Lotus Buch die Anfangskapitel zu Lotus Script durchgelesen bin aber nie richtig vorangekommen, obwohl ich normalerweise ein Bücherfreak bin...

Ich denke was wichtig ist welche Zielgruppe Du ansprechen willst und welche Grundvoraussetzungen jemand haben sollte. Sollte er schon eine Programmiersprache kennen? Wenn ja sollte diese schon objektorientiert sein?





Gespeichert

Martin
Wir leben zwar alle unter dem gleichen Himmel, aber wir haben nicht den gleichen Horizont.
KONRAD ADENAUER
Centaury
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 294


Hi! Kennst du Murphy??


« Antworten #16 am: 29.08.03 - 08:30:06 »

Super Idee!
Ich finde auch, dass die Herangehensweise in vielen Büchern falsch ist.
Hilfe zur Selbsthilfe sollte das Motto sein!
Mein Vorschlag:

1. Programmieren - was ist das eigentlich? Warum LN, warum LS?
2. Aufbau von Lotusscript
3. Bereits benannte Grundlagen
4. Wie bediene ich die Hilfe?

Ich hab in der Schule C++ gelernt (war eine schulische Ausbildung). Dort wurde viel Wert darauf gelegt, zu erklären wie man eine Hilfe bedient.
Ich denke, dann kann man sich auch schneller in andere Programmiersprachen einarbeiten. (Geht mir jedenfalls so)
"Man muss nix wissen, sondern nur wissen wo's steht!" Smiley

Ich drück dir die Daumen, dass du durchhälst (ist nämlich ganz schön aufwendig!) und werd's auf jeden Fall (signiert Grin ) kaufen!
Gespeichert

Man sollte immer eine kleine Flasche Whisky dabei haben, für den Fall eines Schlangenbisses - und außerdem sollte man immer eine kleine Schlange dabei haben. - W. C. Fields
Fis
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 776


Run away


« Antworten #17 am: 29.08.03 - 08:43:00 »

Also da mich das Thema auch interessiert, bin ich gerade dabei das Addison-Wesley zu lesen. Dort haben die auch den Debugger erklärt, was nach meiner Meinung aber zu knapp ist.

Es wird auch auf das Thema Sicherheit eingegangen ACL, ACL-Entries, Zugriffslevel, Authorenfelder und Leserfelder ...., das solltest du auf jeden Fall mit aufnehmen.

Was ich an diesem Buch wirklich besch.... finde ist, das sie die Funktionen von oben bis unten durchgehen und erklären was die Funktionen bewirken, aber ohne wirkliche Beispiele. Das wird schnell langweilig.

Gespeichert
Don Pasquale
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1390

Don Pasquale


WWW
« Antworten #18 am: 29.08.03 - 09:04:23 »

Am liebsten würde ich das in Form eines Romans machen ala Tom de Marco " Warum ist Software so teuer"
eknori

Da hast Du Dir eine hohe Meßlatte gesetzt. Ich kenne zwar nur "der Termin" von deMarco aber das war klasse.

Wie wäre es mit einer Art Korrespondenz
Dein Neffe (15) schreibt Dir einen Brief in dem er für die
Schulklasse ein Programm schreiben will.
Die Briefe des Neffen skizzieren also immer das Problem
und erwähnen Stolpersteine ( Onkel, mir ist das uns das passiert)
und Deine Briefe die Lösung.

Wenn Du Dir vorstelllst an einen 15 jährigen zu schreiben ist
das vielleicht auch eine mentale Hilfe nicht zu akademisch
zu werden. ( Kleiner persönlicher Tipp)

Ciao

Don Pasquale

PS: Wie war nochmal die ISBN Nummer ?



« Letzte Änderung: 29.08.03 - 10:25:47 von Don Pasquale » Gespeichert
Axel_Janssen
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 769



« Antworten #19 am: 29.08.03 - 09:19:32 »

Class führt IMO möglicherweise zu weit. Wenn ich dich richtig verstehe, soll es ja ein praxis-orientiertes Buch werden. Um wirklich sinnvoll eigene Klassen zu schreiben, braucht man IMO ein bißchen Erfahrung. Ich verheder mich da leider immer noch relativ oft und OO-Theorie Bücher sind die anstrengenste Literatur, die ich lese. Vielleicht mehr was für Teil2. Und es reicht vermutlich erstmal LotusScript als strukturale, objekt-basierte (d.h. Lotus-Klassen, aber keine selbst geschriebene Klassen nutzende) Programmiersprache zu betrachten. OO ist wirklich mittlerweile ein weites Feld. Die heutige, stark design pattern geprägte state-of-the-art ist meilenweit von der OO-Perzeption Anfang der 90er entfernt. Und solche Sätze wie der letzte führen zu einer weiteren Mystifizierung von OO, so daß Leute wie Martin weiter Phänomene dem Problemkreis OO zuschreiben, obwohl sie damit nix zu tun haben. Grin  

Vielleicht ist es auch sinnvoll auf vorhandene code-Quellen im Internet zu verweisen, die vorhandene Schwächen von Lotus-Script ausgleichen.
Wenn ich z.B. keine eigene ScriptLibraries für String-Handling in Lotus-Script hätte, würde ich sie mir aus dem code-bin von ntftools besorgen. Ein newbie macht das nicht unbedingt.
Z.B. fehlt auch eine Funktion, die die Wochennummer eines Datums zurückgibt. Da hat Anton Tauscher eine gute ScriptLibrary.

Leider funktioniert google für LotusScript nicht besonders gut. In Java löse ich mittlerweile 98% meiner API-Level Probleme über google.
Gruß Axel
« Letzte Änderung: 29.08.03 - 09:25:21 von Axel_Janssen » Gespeichert

... design patterns are abstract designs that help identify the structure and elements involved in a specific design solution. From this, a concrete implementation can be produced.
Kyle Brown
Seiten: [1] 2 3 Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: