Category Archives: Uncategorized

HMS will be at the PMI Westchester Professional Development Day

HMS will be visiting the PMI Westchester Professional Development Day in Westchester, NY on March 28th.  We’ll be showing off the latest version of TimeControl and TimeControl Industrial and speaking with existing and future clients.  If you’ll be attending the PMI Westchester PDD, we’d very much like to meet you.  Contact toronto@hms.ca to make sure we connect. For more information on the PMI Westchester PDD, go to: www.pmiwestchester.org/PDD_2015.

 

HMS is expanding its development department

We’re looking for a Software Engineer

Does the idea of working for a rapidly growing company interest you? Are you a team player who enjoys a hands-on coding role in technical product development?

Our culture is fast paced, informal, and focused on the success of both our customers and our team.  The ideal candidate will work within a small team of developers to design and develop our commercial enterprise software and application programming interfaces with a focus on integration with enterprise applications.  As a team player, you have strong analytical and problem solving skills and the ability to build relationships and communicate effectively with others. 

Here’s more detail about why you’ll enjoy working on our team:

  • Industry leading benefits
  • Competitive compensation
  • Casual, make-it-happen work environment
  • Incredibly talented, driven, team orientated co-workers

Skills & Experience

The qualified candidate should be bilingual in English/French and have skills and experience in:

  • C# using Visual Studio
  • Web Application development
  • HTML, CSS and JavaScript
  • Proficient with database systems development using SQL
  • Web / WCF Services
  • Soap
  • XML
  • AJAX
  • ADO.NET / LINQ / Entity Framework
  • Thorough understanding of multi-threaded application architecture and development
  • WPF / ClickOnce
  • Mobile development for IOS and Android

To apply: Email your curriculum vitae to dorothy.dixon@hms.ca and specify the job posting for “Software Engineer”, or fax to 514 695-8121.

Migrating TimeControl from SQL 2005 to 2008

Many clients have asked about the technical process of how to migrate the TimeControl database from SQL Server 2005 instance to SQL Server 2008 R2.  Here is a step-by-step description from our technical department:

1.    Stop all three TimeControl services from the Windows Services console (ATS, TTS and Scheduler).  This will prevent anyone from accessing TimeControl while the transfer is being done.
2.    Back up the current TimeControl databases in SQL Server 2005.  There will be two databases, with names similar to TCSECURE and TIMECTRL.  This may be different if you elected to use different names during the original installation.
3.    Create the same logins that exist in SQL Server 2005 as SQL Server 2008.  There will be one for the TCSECURE database and another for the TIMECTRL database.  If you used the default entries, these will be tcuser and sysdba.  These logins should be mapped to the appropriate TimeControl databases (tcuser should be mapped to TCSECURE and sysdba should be mapped to TIMECTRL).
4.    Restore the SQL Server 2005 backups from Step 1 into SLQ Server 2008 and ensure the logins you created can login to SQL Server and have access to the appropriate databases.
5.    Reconfigure the “TimeControl.ini” file found in the TimeControl installation to point to the new SQL Server 2008 instance (this should be the SERVER_NAME property).  Save and close the file when finished making the necessary changes.
6.    Restart all three TimeControl services and check to make sure access to TimeControl is working as expected.

If any issues arise, the original SQL Server 2005 databases are still intact and fully functional so rolling back is very fast. 

HMS President to speak at ProjectWorld Canada

ProjectWorld Chris Vandersluis, HMS Software’s president will once again be speaking at the prestigious ProjectWorld Canada Conference in Toronto on June 3rd and 4th.  He will be presenting a paper entitled “Cancelling a project without cancelling your career on Monday June 3rd and then will be part of a panel on when to apply Agile project management methods on June 4th.  ProjectWorld / Business Analyst World Canada will be held this year at the Metro Toronto Convention Centre.  For more information on the conference, visit http://projectworldcanada.com.

The nature of training on enterprise systems

7438350“How long will it take us to get completely trained?” I was asked recently.

“That would depend completely on your definition of ‘completely’,” I replied.

The challenge with enterprise products like TimeControl is that they can be configured to be so many different things for so many different people.  The strength of TimeControl is its flexibility.  This allows TimeControl to be a multi-purpose timesheet serving the needs of many different perspectives within the organization.  It can be used for time and attendance, time and billing, project management tracking, earned value, government compliance for R&D tax credits or the DCAA.  And all this from the same interface at the same time.

Yet not every organization is created the same.  Not every organization requires the same types of functions or tracking.  Even when two clients have a similar product to like to like SAP or MS Project, those products are not configured identically either.  So each implementation of TimeControl is often unique. Oh there are common elements but there are many elements that are different and not everyone even uses the same functionality.

What we’ve discovered here at HMS when we apply this challenge to training is that training is best done in layers.  The first layer or phase occurs during the original implementation.  If our technical staff assist with the implementation, we train the administration staff as we make decisions together on how to configure the system.  This has a high degree of success but does it mean that these administrators are “completely” trained?

If your definition is, “The administrators should be able to operate TimeControl in accordance with the configuration and existing processes we have defined at the time of implementation.” then the answer is Yes. 

But, let the company advance for 6 months or a year even and we find that the level of maturity in the use of TimeControl in the organization is now such that the types of questions the client would ask have evolved.  Now there are questions on functionality that would have never been asked during the original implementation because the questions are now able to be understood or because the organization itself has evolved to have new timesheet requirements.

This isn’t unique to TimeControl.  We’ve seen similar phenomena when we look at project scheduling tools like Primavera, Open Plan or Microsoft Project Server.

Our view is that training should be an ongoing investment.  Do a little less on the first day than you’d expected.  Let that training soak in; be absorbed; be implemented in practice.  Then having a trainer come back or do another remote session for a few hours.  Use that to advance your own knowledge but also to advance the capabilities used of the software.  As new administrators come on board over time, they’ll naturally just take up training that is regularly scheduled. 

Doing training in phases or layers ultimately gives the best return on investment.

Seen the new R&D Tax Claim white paper?

As part of our new R&D Solution Portal, we’ve created a brand new white paper that you may find of use.  The extensive paper covers an overview of how R&D tax claims work.  We cover something we call the “Triangle Audit” which describes how most government tax agencies go about doing an audit of Research and Development tax claims.  There is a section on how TimeControl timesheets work in an R&D setting and even instructions on how you can configure your own TimeControl to comply with auditing requirements.  There are screen shots of individual TimeControl tables and example reports.  The paper covers an overview of R&D claims in the regions we know best which includes: The US, Canada and within Canada, the province of Quebec where HMS Software’s headquarters are located.  HMS has extensive experience with doing our own R&D claims. 
For those who want to do more research, there are links to appropriate areas of websites at the Internal Revenue Service (IRS) in the US, Revenue Canada (for the SRED program), Revenue Quebec, HMRC in the UK and in the EU. 
You can download the R&D white paper for free at HMS Software’s Research and Development Tax Credit Solution Center.

Keeping TimeControl 6 from timing out!

Users of TimeControl 6 may have found that after a few minutes their TimeControl session times out.  This is something controlled from within Internet Explorer 7.

Here is a quick little tutorial on how to modify the TimeControl 6 session timeout from within IIS 7.

1. Session State

We use the session state value as a timer to show the “Session timed out” message that will force users out of TimeControl. This value is the main control for the lifetime of session variables. To set this value:

  • Open IIS and click/select the TimeControl web site; this will show a range of options on the right hand side of the screen including an item under “Application Development” titled “Session State”. Double-Click “Session State”.

clip_image001

  • When opening the session state options a dialog will appear. All options should appear as the screen shot below does and to change the timeout value simply modify the value in the “Time-out (in minutes):” field and click “Apply”.

clip_image002

This tells the application how long a session is allowed to live. However, this isn’t the only option that needs to be modified because in our code we also check the validity of the user’s authentication ticket which is a separate time-out value.

2. Forms Authentication

The forms authentication uses an authentication ticket that is created when a user visits the site, and then tracks the user throughout the site. In TimeControl 6, we validate this ticket every time we load the page and if the ticket is no longer valid we redirect the user to the login page. If the session state is modified, the forms authentication will need to be modified as well.

  • Open IIS and click/select the TimeControl web site. On the right hand side there will be an option under “Security” for “Authentication”. Double-Click “Authentication”.

clip_image003

  • A list should be shown with a few items including “Forms Authentication”. Select the “Forms Authentication” item from the list and further to the right hand side of the screen an “Edit…” link will light up. Click “Edit…”.

clip_image004

  • The options for forms authentication will appear in the dialog and should look like the screen shot below. The “Authentication cookie time-out (in minutes):” needs to change to match the setting for session state.

clip_image005

These two time-out settings are used by the TimeControl 6 web site code and work well for a high traffic site, but what if it isn’t a high traffic site? In IIS “Application Pools” there is a setting for an “Idle Time-out”; meaning if there is NO traffic on the web site for x number of minutes then the Application Pool will recycle the web site, terminating any and all sessions.

3. Application Pool Idle Time-out

  • Open IIS and click/select the “Application Pools” from the left hand list. A list of applications pools will appear, click/select the application pool used by the TimeControl web site.

clip_image006

  • There will be a link on the right hand side of the screen under the heading “Edit Application Pool” title “Advanced Settings…” click this link. A dialog will appear with a number of options but we are only interested in the item under “Process Model” that reads “Idle Time-out (minutes)”. This value should get a setting equal to the session state and forms authentication to ensure the web site application doesn’t force a recycle before the session is supposed to time out.

clip_image007

These are the values that affect the TimeControl 6 session.

Applying Filter Constraints to Tables

In some instances there is a requirement to have a TimeControl Administration person to be able to see and or modify some of the TimeControl table information, but not all of it. An example would be the ability to see rate code information for a company division, but not all the rate information, for the entire company. TimeControl supports the application of a display filter to a specific table, where required. Filters may be applied to any of the tables following the example shown.
We start by adding the information that defines the condition, in this case a Department code in a user defined field, on the table in question. In order for the filter to function correctly the field data must be in a linked field, using the “field mapping” function. In this example I have set the Department to read “PMO”

We then create a filter applied to the Rate table to select only data relative to the “PMO”

We have created a User Profile specifically for the sup administrator in the Project Office and have applied the PMO Rate filter to that person’s profile. Filters are applied to the Rate table in the table security menu, on the User profile. If the required table does not appear on the list, it may be inserted. The filter is applied from the drop down list as per the example. The profile menu security also has been set to allow the user access to the Rate table.

When we re- log in as the sub administrator and load the Rate table, we only see the Rate codes for the Project Office, as specified in the user defined field. The restriction could also be extended to permit the sub administrator to only see the data and not modify it or similar constraints. Please note that any person sharing this profile would see the data.

This process of filtering may be applied to any of the primary tables in TimeControl.