Tuesday, 21 September 2010

Project reflection

STU188 is now finished, a full task list is on the design specification within the evidence folder.

Looking back the project has been a good one, when I first started work on the application it had errors in the code, crashed at certain points and allowed users to go through the full application without entering any data.

This gave me the opportunity to learn how the application had been setup at first and I was able to follow the processes in such a way that I was able to find the faults which had been causing the problems while it was live. It also reinforced in myself that I was able to apply skills gained in the leadup to this placement, this was a confidence boost right at the start of the project.

I was given a timescale of around 9 days to complete the project, as these timescales were for a competant developer I was given the option to extend if required.

The tasks to complete in this time were:

  • Implement EASE authentication (integration to the university single sign on system)
  • Customize acknowledgement Email to include the applied for schemes
  • Form Validation upgrade
  • fix crashing on the Postgrad process
  • Restructure the database
  • remove redundant code
  • create pre populating fields
  • create additional mandatory fields
  • add validation for the mandatory fields
  • add timestamps to the databases
  • amend page design (to fit consistantly with the rest of the university web space)
  • amend internal links to relative format
Initial thoughts

having read through the code my intial concerns were with the EASE process and the errors causing the crashes. I had no experience with EASE and only knew of it due to the log in sequence for some of our applications.

During the build

My initial concerns were turned on their head, EASE authentication was something new and I had to ask for help with this one, Gabby one of the developers explained the procedure to me and went through the code required to run it.

The code didnt work, instead of going back and getting it fixed I decided to try this myself, with a little help from the lead developer for STU188 I was able to write a ColdFusion Component which ran the EASE authentication, this file is application .cfc and can be found in uni/evidence/september/STU188/STU188_1.1/pg/application.cfc.

One of the trickier parts of the build was the form validation, my method of implementation was to validate at the end of each section (usually 3 form to fill out during the application), as it was the current system validated at the end of the process which was a pain if you needed to fix an error on the first page.

However the problems this posed to me was I now had to figure out a new sequence logic, the order of form>validate>return to form>fix error>validate>progress did not already exist in the application and was something I created from almost new with the basis being from the old system. Tracing the steps through the old system then re engineering this around my system design was the part which took the longest and also the part I needed help to complete, because I was covering new ground for me I didnt know how to deal with some of the problems which arose as a result, such as validating checkboxes or returning to specific points to make changes in the form.

Throughout the build I have spent alot of time with another developer Petra, she has been highly valuable to my progress and my understanding of coldfusion. Petra has helped me to debug my software and understand what the error messages meant. Although I have now spent two years studying software engineering, in the real world I am coming up against what I would class as day to day issues and I feel that I am only encountering them now, things I probably wouldn't get to experience had I not been in the workplace.

I actually managed to finish the project just over half the alloted time, the application initially used hard coded internal navigation and according to my tests was servicable and robust as a commercial application. However, after a chat with Peter one of our senior developers he spoke about alternative coding techniques and given I was well ahead of the target I decided to have a go.

The end result was STU188_1.1, using dynamic coding through coldfusion lists & loops, a bit more advanced validation and a better error catching system. I'm very proud of this application because 1.1 was built by me, I was showed how the lists worked by Greg (another very good developer) and left to it.

Issues

Through this build I don't feel that I have been confident in my ability, I have felt that I was stumbling in the dark looking for solutions. I don't know how much of this project I will take forward into others because I feel that I failed here.

I had been writing the application in accordance to the adobe user documents however I've been told by colleagues (peter, greg) that this way is not the way we build applications here. Although the architecture described in the documentation is competent most builds here keep all the dynamic parts of the application and business logic out of the users access. This is not the case with the more procedural format of the user documents.

I do feel downhearted with this, however on the other side of this it also means that I will be exposed to and learn the proper way to develop applications.

To look at it another way its also a good measure of where I am starting out from, so there is a positive.

What did I learn?

  • Further usage of regular expressions, now writing my own (basic) regexp using reference
  • ColdFusion Lists & loops
  • Importance if minimalising coupling
  • EASE implementation
  • Creating databases in MS access
  • use of coldfusion debugging functions &
  • Further usage of the standard debugging output on the web page
Summarise

Great project, learned alot from it. It has demonstrated to me that I am competant and progressing in the way I hoped as opposed to sitting and panicking. I finished this project in little over half the budgeted timescale and had enough time to build two, I hope thats not expected of me all the time:)

Friday, 17 September 2010

STU188 - Implimentation

This week I have been working on the implementation procedure for the project.

I have prepared an Implementation document (stored on the k drive, copy in evidence), this is my first time writing one and wasn't sure what was expected of me. I wasn't able to find a template for this so I used one that already existed and removed what I didnt need.

Before I went removing parts of the document I read over what was already there, I added in what I thought was required under each of the headings removing the original content as I went.

Although I was more or less adapting the original procedures to fit my application I still needed to ask for help in the areas where I wasn't sure of myself.

What I ended up doing is putting in too much information and had to remove some of the content as directed by veronica the pm.

Tuesday, 7 September 2010

Project: STU188 Scholarships

A new project should be starting today, this will be my first ColdFusion based project and consists of a re work of the Scholarships application which is part of the University website.

The purpose of the reworking of this service is to streamline it, the scheme currently attracts a wide number of applicants and a sizeable portion of applicants fall outwith the terms of eligibility, some are not even Edinburgh students.

We will now be offering the service through the single sign on method used here, this in turn will focus the service towards eligible user only.

Further enhancements will be applied such as a more advanced data validation process, customisation of the email acknowledgements and a redesigned database. A full task list relevant to myself is now in the STU188 evidence folder.

It is left to me obtain a copy of the existing application, this was provided by richard goode showing me where on the live system I could find it and how to set it up on my own development machine.

I am slightly nervous about this task as I feel that even with the coldfusion training material, I dont really know coldfusion.

Having looked at examples of existing applications, none of them appear to be built in the way outlined by adobe themselves.

I will follow up on this once the task has been completed.

Friday, 3 September 2010

Learning agreement - Initial feedback

Further update on the learning agreement.

My tutor has emailed and told me the draft looks good but some grammatical tidying needs done, besides being a bit disappointed with my grammar the news is really encouraging and I'm looking forward to our first meeting.

This should be taking place in around three weeks.

Again I'll update once its happened.

Project: STU186 Student Migrations

There's been some time between now and the last update, ill explain this as we go.

At the start of this week I was given the task of migrating client data across databases as part of a the Project STU186, this is the upgrade of the Student Counselling system.

STU186 has come about as a knock on effect of the EUCLID implimentation, as EUCLID serves as the central IT system for the university a lot of services provided here are coupled with this system. As a result, when the old system (DACS) fully comes of line there will need to be provisions made for dependant systems so their associated department or service can carry on functioning.

And of course downtime is always an excuse to upgrade.

I was given the week to migrate the data, I've not done any major database work for some time now so it was exciting to have a task which would test what I know and teach me something new.

The new database consists of eleven tables (versus the original db's 10), the new tables are looking to simplify the storage and referencing of the data meaning that the data is being rearranged according to the new db structure.

I wrote SQL scripts (these can be opened with notepad) which handle the migration of all data from table to table, there are copies of these scripts in the STU186 evidence folder. As part of the development process, I have written these scripts, tested them and used them to transfer the data in question. At this point the core task of data migration was complete.

Additionally to this another interesting task came up, since the old Student counselling system was taken down for development there are still new applicants to the counselling service, current UoE students have been stored on a table for non UoE clients using a second forename field to store their matriculation number.

In the table these new clients are going to the matriculation number becomes the client ID.

The problem this poses is how do we extract this data (matriculation numbers) from the column its in and migrate the associated records to the new database, seperate from the non UoE clients.

The solution sort of extended past my experience but a golden opportunity to learn something.

Creating this script was the harder part of the task and it took several attempts to get it right, the finished script fits my interpretation of what the objective is and I really hope its up to the job that is expected of it.

This script is also in the STU186 evidence folder (Evidence/August/STU186).

What Did I learn?

  • Used SQL developer for the first time
  • Set up databse connections to support SQL developer usage
  • Transfer of data between databases, not just between tables
  • how to write regular expressions
  • How to use regular expressions in SQL queries
  • How to contribute to the implementation document