Servoy vs .NET Real World Test - Servoy Developer's Diary

DATE: Tues, 4/8/08
PROGRAMMERS: 1
TOTAL HOURS: 4.25
12:45pm - 1:15pm - Reviewed specification document.

1:15pm - 2:00pm - Built initial entities and attributes and "working" forms for all tables.

3:30pm - 5:30pm - Built initial login form, added logic to add record for first time use (add person and company), made modal dialog, logic to hide fields if not the first time use, added i18n strings for labels and for 2 value lists. Started building person profile dialog.

11:30pm - 12:30am - Finish up profile dialog, add main form with tabpanel to hold other forms, re-work the login form to be the correct size, add debug buttons, test LAF in web browsers.

==========================================
DATE: Wed, 4/9/2008
PROGRAMMERS: 1
TOTAL HOURS: 6.25
10:45am - 11:30am - Added message and error text to login. Added i18n messages for login errors - both for missing username/password and for de-activated accounts, added log-in logic to the "OK" button. Tested in browser. 1:00pm - 2:00pm - Created company detail dialog, modified initial setup login logic to show both profile and company dialogs. Added timestamp for last login to user.

3:30pm - 4:00pm - Setup "submain" form and labels as "tabs" for main navigation, and the enclosing basic forms for "Home", "Projects", "People" and "Companies."

5:00pm - 6:00pm - Setup all forms and subforms for "Home" and "Projects" - as well as all nav and tabs - and test in browsers. 8:00pm - 11:00pm - Setup all forms and base subforms for "People" and "Companies" - as well as all nav and tab - and test in browsers.Added graphics and a "mod_dialog" module for handing error dialogs in the browser. Added placeholder buttons for the actions on various forms plus all of the i18n keys and i18n value lists. Built the dialogs for adding a person, company, project and task, hooked them up to their respective buttons, tested in web and smart client.

==========================================
DATE: Thurs, 4/10/08
PROGRAMMERS: 1
TOTAL HOURS: 4.5
11:00pm - 2:00am - Finished the last of the placeholder forms - "Company", finished the new task dialog for adding a bug, finished the dialog for adding a new company. Set tab orders on dialogs. Spent the most amount of time working out how the list views would work. Came up with a way to hover over the text item in a list - and have it underline and then perform the method. Looks different in the Smart Client, so had to "play around" with different colors and styles to see what looked right. Extensive testing in Web Client and Smart Client (mainly LAF issues).

2:00am - 3:30am - Went through and changed the sizes of the forms when you have a selected object (i.e. selected person, selected project) so that the creation buttons would be visible at all times. Hooked up the "people" list so it goes to the correct detail form. Added the border around the tabs and the underline graphic to all the forms.

==========================================
DATE: Fri, 4/11/08
PROGRAMMERS: 1
TOTAL HOURS: 3.5
11:00am - 12:30am - Needed to come up with a way for a generic sort - since I'm using my own column headers on a table view. I came across a great article by David Workman on Servoy Magazine that gave me a good start. I modified the technique and got it to work on the "People" list form. Added the "Summary" section for the currently selected person.

3:30pm - 5:30pm - Changed some button sizes, added the ability to link a person to a company, added a company picker dialog. Did a lot of "tweaking" with the interface so that the other screens will go quicker (moving a lot of pixels, check, pixels, check).

==========================================
DATE: Sun, 4/13/08
PROGRAMMERS: 1
TOTAL HOURS: 0.5
6:00am - 6:30am - Added "New..." option to the choose company dialog - so when linking a company to a person, you can now create a new company at the same time.

==========================================
DATE: Sun, 4/14/08
PROGRAMMERS: 1
TOTAL HOURS: 3.5
3:00am - 7:00am - Added the "works on projects" list and "assigned tasks" list on the person form. Hooked up all the sorting routines. Setup "add project" button to person - adds project and link to current person. Hooked up "assigned tasks" to open the edit task dialog, added project overview tab, project summary and team members list. Hooked up team members list detail to open correct person. Extensive web testing. Duplicated the tasks and projects forms for display on the individual person.

2:00pm - 5:00pm - Projects form - create and hook up task list, task detail. Added "comments" table and modified the "files" table. Added dialog to add a file and link it to a task (in process). Added dialog to add comments to a task. Fixed "New" buttons on the project and people tabs.

==========================================
DATE: Wed, 4/16/08
PROGRAMMERS: 1
TOTAL HOURS: 2.75
10:00am - 11:30 - Added a way to reply to comments. Added basic lists for active and closed projects. Added new graphic for editing - placed it into the "mod_dialog" solution.

4:15pm - 5:30pm - Added the lists and methods for Active and Closed projects. Re-worked the methods for adding tasks, bugs, and projects to be a single global method each - rather than individual methods on forms. Added "your tasks" list. On the "home" screen added "your projects" tab.

==========================================
DATE: Fri, 4/18/08
PROGRAMMERS 1
TOTAL HOURS: 2.5
10:30am - 11:00am - Worked on the task detail. Added a branched method when in Smart Client for adding a document/image (already have the dialog for adding in web client). Added method for showing the document in both web and smart client.

1:30pm - 3:30 - Clean up navigation (not working everywhere), check styles for comments and file listing in web, setup "rough" forms for the "Company" section.

==========================================
DATE: Sat, 4/19/08
PROGRAMMERS: 1
TOTAL HOURS: 9.0
3:00am - 7:00am - Finished up companies tab with details and lists of open and closed projects. Added dialog for choosing and assigning people to the company. Went back and hooked up the ability to add team members to a project. This required changing the logic for choosing a person. Hooked up delete button for removing people from companies and projects. Added table "tbl_action" for tracking all the edits and deletes. Created generic routine for adding records to the action table, and hooking them up to all the places where records are added, edited or deleted.

8:00am - 11:00 - Debugging of actions. Added list views for actions in project and "overall history" for people. Went through all the list forms and set the horizontal scrolling to off. Added "Delete" buttons for task and project. Placed the delete button on the person and company as well - but they're not yet hooked up. Added "intelligence" when deleting a project (shows the tasks, etc. in the dialog) or a task. Created new buttons for "Delete Task" that are shown/hidden only when the task detail are visible.

2:00pm - 4:00pm - Added ability for Admin people to see all projects and tasks. Hooked up delete person (with error checking and re-assigning the assigned taks to that person to "unassigned"). Re-wired the "assigned to" valuelist so it pulls only from people who are assigned to the project (not everyone). Started to change the comments so that only the top level shows on the task detail, and there is a separate form for the replies.

==========================================
DATE: Sun, 4/20/08
PROGRAMMERS: 1
TOTAL HOURS: 4.0
4:00am - 8:00am - Finished up the comments section - now shows replies to comments in a separate section. Can add, edit, delete replies, and fixed the display calc of the number of replies so it's clickable. Finished the documentation tab on projects. Created new document-related lists, methods and dialogs. Made the file upload its own form - so I could re-use it in other sections, and altered the methods so that it would create the right keys and altered the delete method so it would record the correct type of file being deleted. Started work on the "Versions" tab - made the basic forms.

==========================================
DATE: Mon, 4/21/08
PROGRAMMERS: 1
TOTAL HOURS: 5.5
3:30am - 7:00am - Finished "Versions" tab - and all the logic for error-check delete (in case a task uses that version) and fixed code in various places to update the dynamic value lists. Altered the code of the dynamic value lists so it filters correctly based on the project and versions. Tested in web client. Built the last tab - Files, and related dialogs, display fields, etc. Working on creating a clickable link for the item that the file is linked to - not working yet.

3:30pm - 5:30 - Finished the "file" tab on the select project. Got the clickable link for the item working. Debugged calcs for the display name - so the file name would truncate in the list appropriately. Tested in web client. Worked on setting the intial sorts of all the list views - and renaming the incorrectly named sort icons on a lot of lists.

==========================================
DATE: Tues, 4/22/08
PROGRAMMERS: 1
TOTAL HOURS: 3.0
9:00am - 11:30 - QA Testing in Smart Client and Web Client. Changed the valuelist on the summary of the task - it was wrong. Added "priority" and "status" on the task summary, and cleaned up the other summary forms. Changed the behavior of the "New Project" dialog - it will now go directly into the "Assign People" dialog - so when a new task is created - the "assign to" value list will be populated. Fixed the onShow methods of documents, files, versions when there are no attached records yet. Created new forms for "your projects" and "your tasks" - so that when an admin user comes in - they can see all projects and or tasks. Added filter on the people - so that everyone except admin can see only the company(ies) they work for. Added the calculations necessary for showing which people worked in the project and what companies a particular person works for.

4:30pm - 5:00pm - Sean Devlin added the capability to select multiple people when adding team members to a project or people to a company. He also flitered the lists to show only the people not already attached.

==========================================
DATE: Wed, 4/23/08
PROGRAMMERS: 1
TOTAL HOURS: .5
3:15pm - 3:45 - Cleaned up the choosePeople dialog - and added code to all of the dialogs so clicking the "X" box won't close the dialog. This way the user is forced to use the cancel or ok buttons. Finished adding the list of people on a project to the various list views.

======== TOTAL TIME: 45.5 HOURS TO COMPLETE TO SPEC =========