Thursday, 22 December 2011

Christmas Update

Christmas is finally here and with it comes a few days where we can continue the EISNet development.

Today I continued working on migrating Applications into the Manager. Although it should be said, "Applications" are no more. We will now be calling them "Packages", so within the Manager software, you'll use "Package Manager".

The code is being completely re-written with offers us some great opportunities to improve it. The GUI is also different. You'll have a list of Packages as you'd expect, but this list is searchable. This helps schools who have hundreds of packages skip straight to the one they want. It's wildcard based, so if you enter 'E', all packages beginning with E will be shown.


We hope that by integrating the packages into Manager, you'll have greater scope for deploying software in later versions.

Tuesday, 15 November 2011

Announcement

Well, it's all gone quiet on the EISNet v1.7 front. We've all been working on other projects that have become urgent. That's not to say we have forgotten about our new version however. In fact, we've been given a final timescale to work to.

EISNet v1.7 will be available in April 2012

No pressure then!

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.

Thursday, 18 August 2011

Testing Day 1

As part of the development progress, we do a large amount of testing. So far, we have found over 50 bugs of different severity.  Some highlight the need to completely re-write particular elements while others were quick fixes done immediately. All software has bugs but the important thing is find them before the end-users do.

Today Matt, Alex and Michael were trying hard to break Manager in any way they can.


Wednesday, 17 August 2011

Progress report



Import Engine

The point of focus over the past week has been the user import engine. I have already posted, this is a complete re-write of the function and to say it was not easy is a massive understatement. The principle idea behind the new import wizard is to allow any CSV of any structure be imported. This means, it doesn't matter how many columns you import or which order they are in, they the required data is imported.

The interesting thing with the user import tool, is that it only needs four fields. First name, Last Name, Username and Password. Anything else is ignored. However, what this new engine allows you to do, is create the login name based on any other field. This means your login name can consist of the users year group, class, name and anything else you want to use. This makes a more dynamic and flexible importer than we previously had.

Help Window

At the same time, we have also been working hard on the help window. With the previous version of Manager, we had one treeview and one help panel. This meant there was a lot of wasted white space. The problem is that Manager is a naturally simple tool, so we were keen not to make it overly complicated for no reason. We therefore decided, we would include a welcome page which is actually live on the web. It means we can update it with information and this is available to you straight away.

The content is still being written, but it allows us to alert you to issues, or advise you of updates that may be available. It's a great communication tool.


Screenshot

I'm please to be able to finally give a sneak preview to the new look EISNet Manager application.

It's a pre-release version so things may change. You will also notice some icons are missing or simply don't look right. This is constantly being improved and the minor aspects of the interface change every day.

Click here it for a larger version

Do let us know what you think.

Sunday, 14 August 2011

The drop over the top upgrade

Much to the annoyance of my colleagues, I have been determined to make v1.7 a 'drop over the top' upgrade. The basic idea is that if you have EISNet v1.6, you can simply drop 1.7 over the top and it'll work. We've come close to aborting this idea several times, but I continue to insist this is the way to go.

Naturally, some changes we have made require some back-end modifications, but to keep with my promise of a 'drop over the top' upgrade we had to come up with a mechanism for subtle changes.

The answer is remarkably simple and was easy to implement.

Manager v1.7 how has an upgrade engine which will modify any previous version (from v1.6 onwards) and bring it up to the latest version. It's fully automatic too. It gives EIS more flexibility when it comes to upgrades.

Not only will it upgrade from the last version, but if you are, for example, upgrading from v1.6 to v1.9, the upgrades will all run in succession ensuring no upgrades are missed.

Saturday, 13 August 2011

v1.7 progress update

Given this blog is new, and the actual development work on v1.7 is well under way, this first progress update does include everything we've changed so far. Further updates will be posted as we progress.

Interface

The interface has completely changed. It's now styled on the EIS standard for Windows software. In addition, the contents can be resized to suit your needs.

Site structure and objects

We have implemented a station/user list which sits next to the site structure. This is adaptable and can show both users and computers at the same time. This allows for a brand new search feature to be available on the main window. All this has been completed already. The search has an 'instant' feature which can be enabled and will perform live searching whilst you type.

On the subject of the user list, we have moved completely away from showing anything other than the users and computers structure in the treeview. Those items which have been made redundant are now in their own respective toolbar buttons.

Shared Folders

The entire Shared Folders feature has been completely renovated. You can now create, edit, rename and delete shared folders from directly within manager. Everything is handled backend so when you rename the folder, it updates the network as well.

Drive Mappings

Drive Mappings have been severely updated. Inheritance is now supported and the drives show its parent. Drives can be edited, changed and deleted and when created, you get the option of selecting a Shared Folder you have created in manager or you can enter your own UNC paths.

Printers

This is possibly the biggest update of the Manager tools. It has been completely re-written from ground up. Inheritance is now fully implemented. This means when you setup a printer, you can see where it is allocated to. In addition, Printers now supports Active Directory, which means you no longer have to know the UNC path of the device itself. Setting the default printer is now highly reliable and can be changed very easily. You no longer need to edit the configuration files manually.

Application Status

We have implemented a better Application Status dialog which gives you an overview of success or failures immediately. You no longer need to scroll through all stations to see if any have failed. Instead if a single device has failed to install a package, the room will show you an error has occured.

Online Help

The help system is moving to a online version which is always the latest version. It's integrated into the main form still, but can be resized as needed.

Alerts and Messages

All alerts and messages whilst you use the application are done in a collapsable alerts pane. For important or error type messages, a normal message box will be shown, but where success has occured it will tell you this in the alerts pane. The easiest way of describing this is to imagine the Windows event log, in Manager, but the messages only relate to the tasks you are doing.

Profiles management

The profiles management has been rewritten to now support roaming profiles. Users profiles can be changed quickly and easily to either mandatory or roaming.

Groups and Membership

The groups manager has been updated to allow creating, editing and deleting of groups. In addition, users and other groups (called group nesting) can be added and removed as required. This is all done on the fly with immediate effect.

Progress is underway to allow users to be added to groups in the users properties window. This part is not complete yet, but the fundamentals are there.

Importing Users

The import engine is also being re-written and is in development now. Currently you can import from CSV with any structure of your chosing. The Import Wizard allows you to assign the required fields to your data.  Once you decide on what to import, you can then decide how to make up the username and password for the user based on the information you import.

Not only that, but we are planning on implementing a feature to import directly from SIMS. The Import Wizard shows this as an option but will be disabled until it is written. This part is planned for v1.8.

Friday, 12 August 2011

Objectives for EISNet v1.7

I thought it would be useful to explain the basis and reasoning for the latest upgrade.

We decided EISNet v1 needed to be be updated given the time since the last refresh. While fundamentally the main objective is to give the GUI a refresh; naturally, we are developers at heart. So when we see an opportunity to improve the product, we'll take it. When you see it, you'll notice EISNet v1.7 is not so much a GUI update, but more of a complete over-haul.


There are multiple objectives for v1.7. These include;

  • Performance. Increase the performance of the entire product. Those of you who have had v1.6 installed during the summer (2011) may notice an improvement in speed when launching Manager. This is due to the core EISNet function being improved as part of v1.7. Such was the performance improvement, we had to put that update into the v1.6 code. To give you an example, starting manger on v1.5 would take on average 4-5 seconds. Sometimes more. With our new core function, Manager loads typically within 2 seconds.
  • SQL support. Although SQL is technically supported by EISNet v1.5 and above, it has not been implemented. v1.7 will be SQL by default
  • Network aware. Manager should be network aware and allow multiple simultaneous use.
  • Professional, modern and user friendly interface
  • Treeview and Listview for structure and objects. This means, no longer are users and computer shown in the main structure. Instead, we have a side-by-side list of users or computers depending on which intake (or room) you click on.
  • Integration of Applications and Archivist (and also Supervisor - although this will not be visible to the user) into the main Manager application.
  • New import users engine. Allow a more dynamic method of importing users, includling directly linking to SIMS.Net.
  • Online Help. The help system in EISNet is old and out of date. Integral to v1.7 is the introduction of web based help system. This means, the help system is up to date the moment we change it. In addition, the main Manager window how has a homepage which links to useful information, tips and important alerts about updates. Oh and this blog of course.

Introducing EISNet v1.7

EISNet is, as I'm sure you are aware, getting on a bit now. The original code was written around 10 years ago.  In 2005, EISNet was upgraded to introduce a new interface aimed at primary schools. This code has been the base for the entire EISNet product and is the software schools continue to enjoy using.
However, time passes quickly and we thought it was time for a complete over-haul of the Manager product.

In April 2011, the product started to get a significant face lift. Moving away from the primary school style to a more modern interface.

The development has not stopped. A lot of bugs and annoyances have been fixed and more importantly some sneaky new features have been implemented.

In addition, we are moving away from the three module approach (Manager, Applications, Archivist) into a unified single application which integrates all those features.

More significantly, EISNet Manager can now be used on multiple devices at the same time.

This blog is the only place to get up to date information about how the development progresses and the occasional screenshots.