Thursday, 29 September 2011

Package Status

Progress has been slow whilst I've worked on another project and the usual September rush hits. Mike has continued his work on packages, tidying up the SQL where needed but like me, has been caught up in the start of term. He has started work on renovating the Profiles function again. After significant testing, we were still not happy with the way it was behaving, so Michael took a considerable amount of time re-writing large chunks of the code.

We have now demo'd the new version in our development environment to two schools and feedback had been great. Lots of excellent ideas and suggestions made - of which we have added them to the improvement list.

I have been steadily going through the bug list, fixing the issues that have found their way into the code with all the dramatic changes we are making. The list is getting shorter - honestly!

I have not moved onto the next phases of importing Applications into the manager application yet. Nor have I had the chance to improve Login script or the other applets in the product. This will come with time.

I thought I would give you another preview of a form you are probably going to use a lot on the new Manager. It is the Room Package Status window. This has been re-done from the ground up, and gives you instant visibility to success or failures when deploying packages.

In this new layout, you instantly know if just one station has failed to install a package.

The form is still being tweaked, and some GUI parts are yet to be updated, but it is changing all the time.

Friday, 16 September 2011

Progress Update

Its been a while since our last progress report, so I thought I would post on where we are.

As Mike has mentioned, his work on importing from SIMS is now done and I can safely say, the entire Import function looks pretty amazing.

We have been working on a lot of tweaks, fixes and polishing the existing developments. Archivist has now been fully ported into Manager. Its exactly the same feature-wise when compared to the older EISNet, although I think it's now bug free!

A number of things have been removed from Manager. For example, the Accessibility options. We feel this is something that can be achieved by creating a new profile - such as hi-vis for visually impaired users. However, depending on feedback, it may be re-introduced.

We've worked on the offline help as well. It now automatically updated from the web every 7 days. This ensures if your internet is down, you still have access to the help files.

The next focus of my attention is to include wallpaper and screensaver options to the user and intake properties. Once that is done, we will move onto the smaller modules such as Login Script, MyPage and Agent. Finally - we will then move to Applications and then Client.

Importing Users

As Kevin has mentioned about previously, the user import process has had some huge improvements made to it. Yesterday it was my turn to add to those improvements.

EISNet is now able to connect to a SIMS database and extract the Pupils and Staff directly from it. No longer will you have to find someone that knows how to create a SIMS report and export it to CSV. For pupils you can also apply filters to select them from a specific year group or class.

Friday, 9 September 2011

Code analysis & another performance tweak

Following on from my last post, I squeezed just a little bit more out of Manager. It now starts, on a live school system in around 0.5 seconds.

Yesterday I ran a code analysis on the original v1.6 code and the current v1.7 code. Here is the results;


Original Manager
Code Lines: 15,800 (63.20%)
Comment Lines: 3,302 (13.21%)
Blank Lines: 5,898 (23.59%)
Modules: 11
Forms: 45

EISNet v1.7
Code Lines: 10,761 (62.75%)
Comment Lines: 1,706 (9.95%)
Blank Lines: 4,681 (27.30%)
Modules: 5
Classes: 1
Forms: 28

Tuesday, 30 August 2011

Squeezing the last bit of performance

Today was remarkably quiet so I thought I would have just one more look at a piece of code that has been irritating me for a while.

One of my earliest posts notes how I managed to tweak the performance so that Manager loads quickly. So much so, we used the function in EISNet v1.6.1 which was being installed over the Summer holidays.

The function I reviewed again today is the same function. 

The origins if this function is a mystery to me but I do know it's one that has existed in EISNet since the beginning of time and it possibly the most fundamental procedure in the entire product - yet it's also the weakest. This procedure is referenced constantly throughout the entire source code at all levels. It's even shared among the other applications in the EISNet tools set. It's slow, clunky and quite frankly poorly written. 

Although my previous change to the function had improved the performance, I still was not happy with it. It's not smart code - and I like all code to be 'smart'.

So I took the opportunity to have a quick go rewriting it just to see what would happen. I wasn't disappointed.

The end result is another 500ms off the Manager start up time. Manager now loads in 1.5 seconds on a typical Primary School system. Not bad when you consider Manager v1.5 would take 5 or 6 seconds.

I don't think we will be able to squeeze anything else, performance-wise out of Manager's start up time.

Friday, 26 August 2011

Package Deployment

The package deployment overhaul is ending up being a much bigger job than I had anticipated. It has been worth it though so far.

Packages can now be uninstalled from a workstation successfully and then reinstalled, they no longer get lost in the ether.

Previously, the deployment used multiple SQL queries to handle something as simple as determining the list of packages available for install. Now, where possible, this has been condensed to just one query (including one with three joins).

Hopefully these changes will improvement the performance.

Kevin found one more bug for me so hopefully that will be the last of the package deployment overhaul.

Progress Update

Today is the last day of continued development over the school holidays. Development will continue once the "back to school" rush eases.

Of the 50 or so bugs found on our testing day, only 2 remain. These are both profile based which is due to be completely redone anyway.

Archivist is no more! The archivist module will now be made redundant as this has been moved into the main Manager Application. It's work in progress, but the fundamentals are complete.

We done a series of successful performance tweaks around packages, and also group management. Michael is working hard on the SQL side of the package deployment to fine tune and finalize that area.

We've have added a number of tools into Manager for clients. You now have the ability to RDP, Check Disk and Defrag. You can also view the Windows Event log on the remote device. We have finally put in an option to restart the EISNet client remotely as well.

Most of this week has been bug fixing, so few changes have been made to the interface, so no updated screenshot today. However, with the moving of Archivist and hopefully Applications into Manager, i'll provide some screen shots after the mad rush of September.