Difference between revisions of "JGuiGen Demo with Hale's notes"
(→The demo script) |
|||
Line 12: | Line 12: | ||
## Going hardcore ... | ## Going hardcore ... | ||
## Check out of the latest JGuiGen source code | ## Check out of the latest JGuiGen source code | ||
+ | ## In case this is your first time hearing about JGuiGen ... it is all about J for Java, Gui for Graphical User Interfaces, and the Generation thereof, hence "J" ... "Gui" ... "Gen" | ||
+ | ## Some have said that they'd rather write code that writes code than just write code. | ||
+ | ## So again what we are checking out here is code that compiles in order to generate code that compiles in order to render GUIs that allow users to do something I call ... View, add, edit, and delete from a table. | ||
+ | ## The big picture here is that we will be able to quickly generate a screen that allows users to view, add, edit, and delete entries from a table. | ||
+ | ## Another person called this "Elegant CRUD" which sounds like an oxymoron where CRUD stands for Create, review, update, and delete ... or as I translate it ... add, view, edit, delete | ||
## Only the most motivated, high speed, open source development allowed ... no holding back | ## Only the most motivated, high speed, open source development allowed ... no holding back | ||
## grabbing the latest source using subversion on sourceforge.net | ## grabbing the latest source using subversion on sourceforge.net | ||
Line 17: | Line 22: | ||
## we have revision ... | ## we have revision ... | ||
## Let's get down to business in JGuiGen | ## Let's get down to business in JGuiGen | ||
− | |||
− | |||
− | |||
− | |||
− | |||
# cd jguigen | # cd jguigen | ||
− | # unzip JGuiGenMisc.zip | + | # unzip JGuiGenMisc.zip - these are starter files that we usually don't want others committing back into source, such as the configuration files you need to customize for yourself when you are generating your Graphical User Interfaces ... and other files that you will need to ... |
# ./build.sh | # ./build.sh | ||
# classpath=".:"`echo lib/*.jar | tr " " ":"` | # classpath=".:"`echo lib/*.jar | tr " " ":"` |
Revision as of 01:37, 13 April 2006
Back to Main Page
The objective:
- A Screencast ... dry run using rev 82 ... recorded 2006/04/12
The demo script
- Assumed to have installed: subversion, java sdk, maybe eclipse 3.1.2
- (ghp) On one of my Fedora boxes I had to install subversion yum install subversion worked fine
- svn checkout https://svn.sourceforge.net/svnroot/jguigen/JGuiGen/trunk/ jguigen
- Going hardcore ...
- Check out of the latest JGuiGen source code
- In case this is your first time hearing about JGuiGen ... it is all about J for Java, Gui for Graphical User Interfaces, and the Generation thereof, hence "J" ... "Gui" ... "Gen"
- Some have said that they'd rather write code that writes code than just write code.
- So again what we are checking out here is code that compiles in order to generate code that compiles in order to render GUIs that allow users to do something I call ... View, add, edit, and delete from a table.
- The big picture here is that we will be able to quickly generate a screen that allows users to view, add, edit, and delete entries from a table.
- Another person called this "Elegant CRUD" which sounds like an oxymoron where CRUD stands for Create, review, update, and delete ... or as I translate it ... add, view, edit, delete
- Only the most motivated, high speed, open source development allowed ... no holding back
- grabbing the latest source using subversion on sourceforge.net
- The jars, a 3 MB sample database, help files, and of course the source ... there it is
- we have revision ...
- Let's get down to business in JGuiGen
- cd jguigen
- unzip JGuiGenMisc.zip - these are starter files that we usually don't want others committing back into source, such as the configuration files you need to customize for yourself when you are generating your Graphical User Interfaces ... and other files that you will need to ...
- ./build.sh
- classpath=".:"`echo lib/*.jar | tr " " ":"`
- java -cp $classpath JGuiGen
- Users
- UserDemo
- change the social security number
- change the start date
- change to a different row in the table and show off the validation catch
- sort by clicking on a column
- right click and drop your jaw
- click back in the main window and change the ssn
- right click ... choose next
- watch validation work again
- 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
- changing rows in the table
- next in the right click pop-up
- previous in the right click pop-up
- "Refresh table" in the right click pop-up
- Find in the richt click pop-up and in the top menu
- Extra in the right click pop-up and the top menu
- "Dup" in the right click which means duplicate the current row with a new id number
- "Add" in the right click and in the main menu
- the exit button in the upper left
- and the window close X button in the upper right ... web developers eat your heart out
- we may have missed 1 or 2 ... isn't that rediculous
- Notice that the font chooser has octothorpes around the text, two points I'd like to make about this:
- the code still runs, which, for anyone whose ever had to do serious i18n in Java, you will appreciate
- we can also go in now with JGuiGen and regenerate the resource bundles for the internationalization of that menu option
- Notice that "ExtRa" button ...
- This is just a simple button in the code that
- you will be able to easily find the code for it in the java
- rename it to "my custom report"
- add your own functionalty to it
- and look it has built in functionality underneath that you might like to use ... option 1, 2, 3
- Find
- First name "is equal to" Hale
- OR
- last name "is like" Sing%
- Execute
- Find ... note it saved our most recent find critereon
- 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
- place holder for dicussing
- Reports
- Look and feel
- right click again ... choose inverse mono look and feel
- right click ... choose Native
- Print the screen
- Simply tonnes of documentation about JGuiGen e.g.
- here is a manual and for those of you who like to RTFM
- here is a read me which shows you, for example, all of the databases suppoerted by JGuiGen
- You can cuddle up with this in bed some evening
- type: "... Standalone"
- driver: JGuiGenDb
- Ok
- lead_ID integer identity
- lead_DATE timestamp
- lead_PHONE char(20)
- isremoved smallint - the deleted flag
- lastchangedby char(20) - for sanity and multi user functionality
- lastchangeddate timestamp default null - for validation and multi user functionality
- Mark Tables - place a check mark on the "Process Table" field for your new Lead Table
- Check Data Dictionary, Leave Flags, Run Now
- Edit Data Dict ... Select the Lead table, Do a bunch of stuff for each column
- Generate Application (Model, Order, Create Java)
- Exit from the Internationalization causes a write
- Generate HTML (optional)
- show out-of-the-box features of the gui
- View, Add, Edit, Delete ... right click duplicate
- Search for some rows
- Oh ... what's this? ... Reports!
- try closing a window after a change
- try changing the row to edit after a change
- Quickly adding a column, such as: ssn, phone, address
- Internationalization
- Hot keys
- Change validation error message and Test
- blast the coffee cup
- run test scripts against the gui
- show test script output
- shameless plug - Hale Pringle's web site
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