JGuiGen Demo with Hale's notes

From lightwiki
Jump to: navigation, search

Back to Main Page

The objective:

The demo script

Vern I added two files to your updateMisc.sh. I did it on my Linux box so the eol chars should be okay. I also changed run.sh to take a parameter - the file to run.

I created build.bat and run.bat the same way.

Please erase or move when you have read this.

tanx Hale

Vern - looks very nice (until it choked itself on too many features) I had a couple of thoughts.

  1. You might want to build a screen that announced JGuiGen (Elegant CRUD) and says somethings like "Every database project involves major effort just to build screens that edit the tables. JGuiGen automates this task" If you wanted you could list a few features in big letters (CRUD, I18n, Multi-user, built in simple reports, build in simple Queries) Anyway you start your talk with this screen up instead of a black background. Very quickly you kill this screen and we never see it again. You just go on like you are doing now.
  2. You mention JGuiGen eating its own dog food several times. When you get to Mark Tables or Edit Columns you might want to mention that the screens were built with JGuiGen. Code that writes itself. (Hmmm The first thing they comipled with the IBM optimizing Fortran compiler in the early 60's was ---- drum roll please --- the fortran opimizing compiler.)
  3. This screen cast had more "breathy" noises than your other demos. I don't know if you changed mikes or position or what.

Regardless - it look great. I'm impressed. Hale Note: for Vern - 4/13 All of these worked for me on my Fedora box.

  1. Login doesn't burp
  2. Save Query better (note: You don't see the query until you run FIND again.)
  3. User prefs are working for me. (???)
  4. JFreeReport worked (finally)
  5. View ReadMe.html and Manual - removed "qoutes"
  6. I went ahead and switched the prompts for UserLogDemo to their own resource bundle. Don't know

what this is going to break since it required doing something I wanted to do but hadn't gotten to yet. Mark Table allows you to duplicate a table ruw and have two (or more) classes going against the same table. I din't know if the I18N will pick up on this correctly since you didn't want to write the bundles yet. I know that this isn't all of the list - but I think that it is the Biggies!

  1. Assumed to have installed: subversion, java sdk, maybe eclipse 3.1.2
  2. (ghp) On one of my Fedora boxes I had to install subversion yum install subversion worked fine
  3. svn checkout https://svn.sourceforge.net/svnroot/jguigen/JGuiGen/trunk/ jguigen
    1. Going hardcore ...
    2. Check out of the latest JGuiGen source code
    3. Only the most motivated, high speed, open source development allowed ... no holding back
    4. grabbing the latest source using subversion on sourceforge.net
    5. The jars, a 3 MB sample database, help files, and of course the source ... there it is
    6. we have revision ...
    7. Let's get down to business in JGuiGen
  4. (ghp) I had to chmod the jguigen folder to give permissions before I could use elcipse. I had to do the same for the files - especially .classpath and .project which did not have write access.
  5. (ghp) When running from Eclipse - I had to:
    1. Create a new Project (JGuiGen) in the folder where I installed JGuiGen (this found the existing project)
    2. Right click on the project (in the Java Perspective window) --> Properties --> Build Class Path There are two external jars jce.jar and jsse.jar that are sun security files. The current class path points to their location on my Windows box.
    3. You need to change this path to point to the <java install path>/jre/lib/ext folder on your box.
  6. cd jguigen
  7. unzip JGuiGenMisc.zip
  8. ./build.sh
  9. classpath=".:"`echo lib/*.jar | tr " " ":"`
  10. java -cp $classpath JGuiGen
  11. Users
  12. UserDemo
  13. change the social security number
  14. change the start date
  15. change to a different row in the table and show off the validation catch
  16. sort by clicking on a column
  17. right click and drop your jaw
  18. click back in the main window and change the ssn
  19. right click ... choose next
  20. watch validation work again
  21. mention the 10 or so actions which are already coded for me, and I dont have to write code for that correctly validate and make sure the users of my gui do not loose data in irritating ways
    1. changing rows in the table
    2. next in the right click pop-up
    3. previous in the right click pop-up
    4. "Refresh table" in the right click pop-up
    5. Find in the richt click pop-up and in the top menu
    6. Extra in the right click pop-up and the top menu
    7. "Dup" in the right click which means duplicate the current row with a new id number
    8. "Add" in the right click and in the main menu
    9. the exit button in the upper left
    10. and the window close X button in the upper right ... web developers eat your heart out
    11. we may have missed 1 or 2 ... isn't that rediculous
  22. Notice that the font chooser has octothorpes around the text, two points I'd like to make about this:
    1. the code still runs, which, for anyone whose ever had to do serious i18n in Java, you will appreciate
    2. we can also go in now with JGuiGen and regenerate the resource bundles for the internationalization of that menu option
  23. Notice that "ExtRa" button ...
    1. This is just a simple button in the code that
    2. you will be able to easily find the code for it in the java
    3. rename it to "my custom report"
    4. add your own functionalty to it
    5. and look it has built in functionality underneath that you might like to use ... option 1, 2, 3
  24. Find
    1. First name "is equal to" Hale
    2. OR
    3. last name "is like" Sing%
    4. Execute
    5. Find ... note it saved our most recent find critereon
    6. note the "Show inactive" button which toggles and ... guess what allows the user to find rows that they or someone else deleted last week, but were not really deleted of course ... just flagged that way so that you did not have to write that code again ... just use JGuiGen
  25. place holder for dicussing
    1. Reports
    2. Look and feel
      1. right click again ... choose inverse mono look and feel
      2. right click ... choose Native
    3. Print the screen
  26. click Help in upper right ... This is your place to put your own help for your gui
  27. Exit out of User Demo
  28. The help that is "here" one of the many examples of JGuiGen eating it's own dog food.
    1. Simply tonnes of documentation about JGuiGen e.g.
    2. here is a manual and for those of you who like to RTFM
    3. here is a read me which shows you, for example, all of the databases suppoerted by JGuiGen
    4. You can cuddle up with this in bed some evening
  29. Now let us move on now and generate our own gui
  30. Exit JGuiGen
  31. vi JGuiGenIni.xml, add table name "Lead", add class name "Lead", add table model name "LeadTm"
  32. sh ./runUtil.sh DatabaseManager
    1. type: "... Standalone"
    2. driver: JGuiGenDb
    3. Ok
  33. cut and paste new table "Lead"
  34. cut and paste the index
  35. discuss the table columns
    1. lead_ID integer identity
    2. lead_DATE timestamp
    3. lead_PHONE char(20)
    4. isremoved smallint - the deleted flag
    5. lastchangedby char(20) - for sanity and multi user functionality
    6. lastchangeddate timestamp default null - for validation and multi user functionality
  36. java -cp $classpath JGuiGen
  37. Starting in the Data Dictionary Menu
    1. Mark Tables - place a check mark on the "Process Table" field for your new Lead Table
    2. Check Data Dictionary, Leave Flags, Run Now
    3. Edit Data Dict ... Select the Lead table, Do a bunch of stuff for each column
    4. Generate Application (Model, Order, Create Java)
    5. Exit from the Internationalization causes a write
    6. Generate HTML (optional)
  38. Compile and run the new gui
    1. show out-of-the-box features of the gui
    2. View, Add, Edit, Delete ... right click duplicate
    3. Search for some rows
    4. Oh ... what's this? ... Reports!
    5. try closing a window after a change
    6. try changing the row to edit after a change
  39. wash, rinse, repeat ?, ?, ?, and ? showing features
    1. Quickly adding a column, such as: ssn, phone, address
    2. Internationalization
    3. Hot keys
    4. Change validation error message and Test
    5. blast the coffee cup
    6. run test scripts against the gui
    7. show test script output
  40. launch eclipse



Notes about getting JGuiGen installed on SourceForge: I ran into two "issues" while moving a new project to SourceForge as a Subversion version control project. 1. SourceForce wants a Subversion dump file to start with which menat I needed to place JGuiGen into subversion locally. I created a repository using the Tortisesvn client. I imported the files into the repository and checked them out again. Then it was time to create the dump. TortiseSvn doesn't create dump files so I needed to use the command line. No problem. The instructions said use the svnadmin tool to create the dump file. The issue came with figuring out what folder to be in when I ran svnadmin. I finally found out that being in the main repository folder worked. That seems like a strange place to work from but it worked.

2. The instructions on uploading a new project said to use scp and copy the file to scp FILENAME.ZIP USERNAME@shell.sourceforge.net:/home/groups/P/PR/PROJECTNAME/FILENAME.ZIP

I tried this and it didn't work scp jguigen.zip Halepringle@shell.sourceforge.net:/home/groups/P/PR/jguigen.zip.

What they don't mention in these instructions is that the "P/PR" are the first letter and first two letters of our project name. This worked scp jguigen.zip Halepringle@shell.sourceforge.net:/home/groups/J/JG/jguigen.zip.

3. To update the SourceForge web site I used Winscp and logged into shell.sourceforge.net using my sourceforge username and password. That placed me in /home/users/h/ha/halepringle. I navigated to /home/groups/j/jg/jguigen/htdocs and uploaded the web pages. Hale 4/10/2006