• Set a Background Image for the Logon Screen

    A logon screen background image can be set in one of two ways - through the registry or in a local group policy (Windows 7) / network group policy (Windows 8). The preferred method is via the registry as then there isn't extra group policy processing required. Both methods require local administrator rights.

    Registry method:

    1. Start regedit
    2. Navigate to HKLM\Software\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background
    3. Create a DWORD value, name it OEMBackground and set it to 1
    4. Close the registry editor

    n.b. - changing the theme in Windows may set this back to 0

    Local group policy method:

    1. Start gpedit.msc
    2. Navigate to Computer Configuration\Administrative Templates\System\Logon
    3. Set Always use custom login background to enabled
    4. Click OK
    5. Close the group policy editor

    Set the file to use (common to both methods):

    • Images used for the background exist in this location: c:\windows\system32\oobe\info\backgrounds - you'll probably need to create info and backgrounds
    • Copy the image(s) you wish to use into the backgrounds directory
    • The names for these files must follow this convention and must be 256KB or less:

    backgroundDefault.jpg
    background800x600.jpg
    background1024x768.jpg
    background1280x1024.jpg
    background1600x900.jpg
    background1600x1200.jpg
    background1920x1080.jpg
    background1920x1200.jpg
    ...etc.

    • Windows will pick the one that matches the screen resolution first, backgroundDefault.jpg (stretched, if necessary) if it can't find one for the correct resolution and the system default background if it can't find any other image to use.
  • Why is there a difference between live and local versions when testing or debugging applications?

    Recently there has been a couple of issues whereby users are reporting issues with the public website or WIT, and when the developer has tested this locally, they are unable to reproduce the issues.

    You might find that although you have the most recent code, database and you have also run the schema that this still continues to be the case. It may or may not be obvious, but because the public website and WIT are only generally published by request, it is more than likely that a developer has previously made some changes and that the application with it's changes have not been published yet. It is therefore a good idea to request the application in question be published so that you can eliminate mismatches between live and local versions.

  • Tips on how to work on a Zendesk Support Request

    This article explains the normal practice of working on a Zendesk ticket.

    Set Timelog

    1. Open the Time-log application. If you do not have this currently installed click Here to find out how. Select Meter, followed by the Best Companies radio button to start the timer running.

    Onto ZenDesk

    2. Log in to Zendesk. Click on the drop-down list with your face and name on it in the top right hand corner. Select 'Open agent interface,' This should take you to your dashboard.

    3. You now need to select your ticket. The view you will currently see is the home view. This shows you all the tickets you have open, along with all unassigned tickets ordered by priority (Within groups you are assigned to). You can look at different views by clicking the 'Views' button on the left hand tool-bar. Guidelines on which tickets to pick up next can be found Here.

    4. Once you have selected a ticket, click it to open a list of all events related to the ticket. To assign it to you, click the 'Apply Macro' drop-down list at the bottom of the screen and select 'Take It!'

    Note: Remember to update your ZenDesk ticket throughout the following stages so that the ticket requester knows what's going on and when they should expect this work to go live (although remember - we can't normally confirm the specifics, but providing a general update does help).

    At this point you should create a Work In Progress. To do this, follow the guide Here

    Then Visual Studio

    5. Open visual studio and open the project that the ticket relates to (This is usually BC_Website). Click 'Team' on the top navigation bar and select 'Go to work item.' An 'ID:' box will then appear. Re-open the ticket on Zendesk and select the number in the box entitled 'External Work ID' copy this number and paste it into the ID box within visual studio.

    6. You have now opened the Bug/User Story, this may contain some useful information to help you continue with your ticket. Firstly select your name in the 'Assigned To' drop-down list, then, select the 'ALL LINKS' button on the central navigation bar. Click new to create a new child task and give it a useful title related to what the work entails e.g. "Investigate issue with MC³ order for Humble PLC".

    7. Within the task that has now opened, if this has not automatically assigned itself to you, enter your name as you did above. Save this task and a work item number will appear in the top left hand corner. Copy this into the 'Work Item' box on your time-log, you will use this id to log your time against.

    8. You are now ready to begin work, as your work develops, continue to update your task in the right hand box of the 'HISTORY' Tab, so that the person who reviews your work can easily understand what you have done. When testing your work you can add a few screen captures or files using the 'ATTACHMENTS' tab.

    9. When your work is complete, you have tested it, it is working correctly on your local machine and you have written up the work, you are ready to put the work up for review.

    Visual Studio - Team Explorer

    10. Open 'Team Explorer' in Visual studio, go to pending changes and compare the items in the 'Included Changes' section to those on the server (right click and select 'Compare with Workspace Version.') If all changes are the ones you have made you are okay to continue, if anything unusual is there you can undo the changes within this menu.

    11. Go to 'My Work' under 'Team Explorer', enter the same id you entered into your time-log earlier to assign the work item to your pending changes, now select 'Request Review'. In the drop-down list select the list of people you want to review the work.

    12. Click 'Submit Request', go to the suspend button in pending changes and select it, enter the work item id and a brief description you will be able to recognise later. Then click 'Suspend'.

    13. You will receive an email both when someone has picked up your review and when they have finished the review. Once the review is finished, go to 'Team explorer - My Work' and select the item under the heading 'Code Reviews' at the bottom of the window - The bold one is usually the one that has been updated.

    14. If the ticket says anything other than 'Finished (looks good)' then you need to read the comments and undertake any changes that have been suggested. To get the work back, first go to 'Source Control Explorer', right click on the top folder entitled 'net.jh-austin.co.uk\TeamProjectsCollection' and select 'Get Latest Version'. This will get any changes other people have recently made to help stop you having to manually merge your changes to coincide. Now you can go to 'My Work' - 'Suspended Work' click the item followed by 'Merge with In Progress' to re-open. Then go back to stage 8 and repeat as necessary.

    15. Once your work is marked as 'Finished' Follow step 14 again but without steps 8-13 - This will retrieve the work you have done.

    Check-in and Release

    16. You are now ready to check in your work. Close this review and mark as complete. This can be done by double clicking the review in 'My Work' and selecting 'Close Review - Complete'. You should now be taken to the 'My Work' page. Click check-in, this should direct to to the 'Pending Changes' page. You will be notified that you must enter a comment to check this in. It is useful to add the task ID or External Work item ID along with a brief comment of what is contained with-in the work.

    17. Click Check-in once more and the work should now be queued for release.

    18. If this work related to BC_Website or was an update to the Schema (Default3) Then this will affect the live version on the next successful build and release. These take place overnight, but you will receive an email telling you whether the build and release have succeeded or failed.
    If this work was for any other website you will need to raise a release request ticket in Zendesk.

    To raise a ticket click the 'add' tab on your Zendesk ticket view. Type in your own name as the requester, make the subject 'Release Request' followed by the name of the project the work relates to e.g. 'BC_Survey.' Add a quick description and click 'Submit as New.' More information on raising tickets can be found HERE

    Back to ZenDesk

    You should have been providing updates throughout the ticket (and liaising on any additional requirements the ticket requester might have). So at this point, where the work has been released and you've checked that all is correct on live, it's now a great time to update the ticket and set it to Pending.

    When you are notified that the user is happy with the work completed, you can set the ticket to 'Solved' and pick up another task.

  • Managing Expectations Through Ticket Updates

    When updating a ticket, it's important to remember that this can have a direct effect on client expectations.

    It is, therefore, vital to always bear in mind that any update we place publicly on a ticket is effectively communicated directly to a client. We aren't able to predict to which degree a requester is relaying the updates we offer directly to a client, so we must assume that everything is shared.

    So when we say that a task will be available tomorrow, we need to be able to fully commit to this - as our employees (the ticket requesters) may freely communicate this to a client and then the client will in turn expect a service fulfilment by a specific deadline.

    If these promises aren't kept, it decreases the sense of value our clients expect from the services we provide, and it's easily avoidable.

    To help avoid scenarios where clients have to chase requests or are met with disappointment when seeing their requested changes are not actually live, if we can all make a concerted effort to slightly adjust the language we use and how we use it, we will all be able make a more positive impact.

    It's great to update the ticket when the development stage progresses, as this helps our requesters understand that there has been movement on their ticket. However, we need to distinguish between a general progress update and a deadlined promise.

    If your ticket is going up for review...

    It is a good idea to update the ticket to reflect this, especially if the request is urgent.

    It's not a good idea to specify a time or day when this will definitely be completed by as we can't tightly control this process to that degree. I would, therefore, avoid stating any certain promises along the lines of "Ticket 123 is now up for review, it should be checked in tonight and will be ready tomorrow" as this is setting up a scenario where we can fail to meet a deadline.

    However, if it is an urgent task and we feel the requester needs to know more specifically, it would be appropriate to use terms such as should, could, hopefully, etc. For example "Ticket 123 has been put up for review - as this is an urgent task, I am going to try to get this looked over this afternoon so that we can hopefully look to get this checked in for release tonight". This is not an evasive way to communicate - it is as much detail as we can honestly commit to at this particular stage.

    If your ticket is being checked in for release...

    Again, it makes sense to update the ticket to relay this information to the requester.

    As above, make sure to not offer measured promises - e.g. "Ticket 123 has now been checked in and will be live in the morning". It's entirely possible for the release to fail, be cancelled, or otherwise not perform as intended. So in that respect, if we promise it will be ready in the morning, we're fully committing to a process that we can't tightly control and are setting up a scenario to fail to meet expectations.

    It makes more sense to inform the requester with as much detail as we can honestly commit to, e.g. "Ticket 123 has been checked in for this evening's release. If the release goes through, this should be available in the morning." would be a more appropriate way to communicate.

    Finally...

    It's also important to ensure that the fix/new feature is working and available for the requester before contacting them to ask them to check if they are happy. It's the final responsibility of the assigned developer to ensure that the work has been completed successfully; the requester should only really be informed when the work is correct and available on the system. This is simply just good customer service and helps generate trust.

    So, if in doubt, stick to what you know is certain and communicate honestly with the knowledge that what you have confirmed is as much as you could confirm. That way, it should help alleviate the number of times a client will need to come back to say they're still waiting for a request.

  • Returning Translations for Survey Questions

    If you are requested for an spreadsheet containing translations for other languages within the system, you can follow these steps to return the questions required.

    Declare the Culture & Survey Required

    Firstly, you need to declare the Culture of the translations to be returned and for what survey they are for.

    For example, here to return the Russian Translations for the BCI Survey 2015:

    DECLARE @CultureID int = (SELECT CultureID FROM Ref_Culture WHERE [Description] = 'Russian'),
    @SurveyID int = (SELECT SurveyID FROM Ref_Survey WHERE Name = 'BCI Survey 2015')

    Returning the BC70 Questions

    Set the headings for the tables to be returned, in this case the Question Numbers, the English translations alongside the Culture Translations:

    SELECT sq.Number AS [QuestionNumber], ISNULL(q.Question, qco.Question) AS English, ISNULL(qco.Question, q.Question) AS Russian

    Returning the English questions from the Ref_Survey_Questions table, and joining this with the matching questions ID's from the culture tables for the culture ID specified above:

    FROM Ref_Survey_Questions sq
    LEFT JOIN Ref_Survey_Question_Text_Override sqto ON sq.SurveyQuestionID = sqto.SurveyQuestionID
    LEFT JOIN Ref_Survey_Question_Text_Culture_Override sqtco ON sqto.SurveyQuestionID = sqtco.SurveyQuestionID
    AND sqtco.CultureID = @CultureID
    INNER JOIN Ref_Questions q ON sq.QuestionID = q.QuestionID
    LEFT JOIN Ref_Question_Culture_Override qco ON q.QuestionID = qco.QuestionID
    AND qco.CultureID = @CultureID

    Finally restricting the query to the designated Survey ID and ordering by the BC70 question number:

    WHERE sq.SurveyID = @SurveyID
    ORDER BY sq.Number

    Returning the Management Questions

    Next, the Management Questions can be returned using the following script for the selected culture ID, again setting the headings as before. The Management questions are retrieved from the Ref_Survey_General_Questions table and matched with their translations.

    SELECT ISNULL(rq.Question, rqco.Question) AS English, ISNULL(rqco.Question, rq.Question) AS Russian
    FROM Ref_Questions rq
    INNER JOIN Ref_Survey_General_Questions rsgq ON rsgq.QuestionID = rq.QuestionID
    AND rsgq.SurveyID = @SurveyID
    INNER JOIN Ref_Question_Type rqt ON rqt.QuestionTypeID = rq.QuestionTypeID
    AND rqt.Name = 'Management Question'
    INNER JOIN Ref_Question_Culture_Override rqco ON rqco.QuestionID = rq.QuestionID
    AND rqco.CultureID = @CultureID

    Returning the Service Climate Questions.

    The Service Climate Questions are returned in the same way as the Management Questions from the General Questions tables and joined to their translations.

    SELECT ISNULL(rq.Question, rqco.Question) AS English, ISNULL(rqco.Question, rq.Question) AS Russian
    FROM Ref_Questions rq
    INNER JOIN Ref_Survey_General_Questions rsgq ON rsgq.QuestionID = rq.QuestionID
    AND rsgq.SurveyID = @SurveyID
    INNER JOIN Ref_Question_Type rqt ON rqt.QuestionTypeID = rq.QuestionTypeID
    AND rqt.Name = 'Service Climate Question'
    INNER JOIN Ref_Question_Culture_Override rqco ON rqco.QuestionID = rq.QuestionID
    AND rqco.CultureID = @CultureID

    Finally, execute the script sections from above, and copy each of the results into a spreadsheet with their headers and return the spreadsheet to the requester.

  • HTTPS Security Error Messages

    If you are working on a task to investigate HTTPS security errors, the chances are that there has been a file uploaded to a site that was previously not HTTPS, but has since been updated to this standard.

    To find out the cause of the security issue, you can run the site with the errors locally and press F12 for the developer tools to appear. In here select Console to give you an idea of what is causing the problem.

    This should help get you to a diagnosis of the issue.

  • Why are the unit tests taking so long to run?

    So our tests are grouped by category in order to help us run them more quickly, sorted into 'No Traits' (which don't hit the database, and so are fast), 'Integration' (which do hit the database, and so are not particularly fast) and 'Slow' (which hit the database and are also very, very slow).

    If you've done some work that might affect Integration tests, you may think you need to select Integration and No Traits, right click, and choose 'Run Selected Tests'. I certainly did.

    Unfortunately, I was wrong.

    You see, a Test can have multiple traits (which are called 'categories' from within MSTest), as you can see below:

    This means that selecting the Integration tests and choosing 'Run selected tests' will include all of the Slow tests (as they're in both categories).

    Fortunately, the Test Explorer search box allows us to search on Traits (aka Categories), and it also supports negative searching. So we can do the following:

    This subtracts any tests with 'Slow' as a Trait from the results list, allowing you to finish running these tests before the heat death of the universe.

  • Adding New Cultures to the System

    If you have been supplied with a spreadsheet containing some new translations required for the Survey site, you will need to follow these steps to add the new culture to our system.

    Add the New Culture

    1. Insert the new culture into the Ref_Culture table in the database.
    2. Insert the new culture into the Lnk_Survey_Culture table. Only set the UseAtDistribution field to 1 for surveys with 'Multi-Lingual' in their name.

    Populate the Questions and Answers

    Now open the spreadsheet containing the new translations and complete the following steps:

    1. Open Excel and open the file E:\Depot\Main\BC_Schema\Translations.xml
    2. You will see a number of worksheets, each referring to a culture. Add a new worksheet and name it as the new language.
    3. Copy the Question & Answer Phrases from the supplied spreadsheet into your new tab, with a header row of 'English' and 'Translation'.
    4. Close and Save Translations.xml, but leave the new translations spreadsheet open, as you will need it again.
    5. In your schema change you will also need to set the flag _bImportTranslations = true;

    Create the Survey Red Text Images

    You will need to create the red text images for the following translations:

    • Agree
    • Disagree
    • Slightly Agree
    • Slightly Disagree
    • Strongly Agree
    • Strongly Disagree
    • Neither Agree Nor Disagree
    • Not Applicable
    • Anxious
    • Bored
    • Engaged
    • Satisfied

    To create the translation images for the general survey answers (in black text above), follow these steps:

    1. Open your preferred image editing software (eg; Photoshop, paint.net, GIMP2)
    2. Create a new image 75 pixels x 39 pixels in size
    3. Change the font colour to #E41421
    4. Use the text input tool and paste in the required text
    5. Resize/move the text around so it fits nicely in the image
    6. Rotate the image by 90°
    7. Save the image as its English translation (eg; NeitherAgreeNorDisagree.png)
    8. Repeat these steps for all 8 general answers

    To create the translation images for the Watson Tellegen answers (in red text above), follow these steps:

    1. Open your preferred image editing software (eg; Photoshop, paint.net, GIMP2)
    2. Create a new image 75 pixels x 50 pixels in size
    3. Change the font colour to #E41421
    4. Use the text input tool and paste in the required text
    5. Resize/move the text around so it fits nicely in the image
    6. Save the image as its English translation (eg; Anxious.jpg)
    7. Repeat these steps for all 4 Watson Tellegen answers

    Create Resource Files

    Open the BC_Survey solution and follow these steps:

    1. In the SurveyWebsite project open the folder App_GlobalResources.
    2. Copy and paste the files Common.resx, Images.resx and Message.resx
    3. Rename the copied files using the culture name you added into the database. (For example Common.ro-RO.resx is for Romanian translations).
    4. Repeat the above steps for each English .resx file in the App_LocalResources and Controls/App_LocalResources folders, and also for BusinessLibrary/Resources/EmployeeSurveyEmail.resx
    5. Once you have these copied, go into your pending changes and work through each .resx file at a time, adding the appropriate translation for the label. These should be labelled up with both the file name and label name in the supplied spreadsheet.

    Add a new folder to the SurveyWebsite/Images folder and name it as the new culture (eg ro-RO).

    Add the images to the new folder.

    Update Enum for Unit Testing

    With new changes since Survey Set up, an extra unit test has been added, and the following change is needed to pass this unit test (GetAllCultures_Returns_cultures).

    Open the Domain.CompanySurvey.Distribution.Culture.cs file in BC_Website and follow these steps:

    Under the enum CultureCodeOptions, add to the list the new culture you've added. (For example: [Name("sk-SK")] skSK )

    Update EmployeeDTO.cs

    You will also need to update the EmployeeDTO.CS file to add in the new Culture Code Options.

    You are now ready to test the survey!

  • Important Things To Remember When Working on Employment Group Restructure Tasks

    When working on an employment group re-structure task, it is important to remember to delete any existing BCI scores for the employment groups belonging to the company survey you are working with.

    These scores are kept in the Dat_Survey_Employment_Group_Accreditation_Rating and can be deleted with the following query:

    DELETE dsegar
    FROM Dat_Employment_Groups deg
    LEFT JOIN Dat_Survey_Employment_Group_Accreditation_Rating dsegar ON dsegar.EmploymentGroupID = deg.EmploymentGroupID
    WHERE deg.CompanySurveyID = @CompanySurveyID

    There is already a trigger on the Dat_Employment_Groups table which does this when parent groups have changed, or groups being added or removed, so this extra delete statement only needs to be called if the employment groups themselves have not been changed, only the employees' employment group answers.

    Deleting the records from the Dat_Survey_Employment_Group_Accreditation_Rating table will force WIT or the Data Packs to re-generate the records as and when they are next needed, so adding this delete statement to the end of your employment group re-structure schema change is all that is required to ensure that the employment group BCI scores are always up-to-date.

  • Creating a Session State Database

    It is preferable if when developing locally you run a SQL Session State database so your session state is stored as it is on live. To create this run the below command in Visual Studio Command Prompt:

    aspnet_regsql.exe -U usrBCOnline -P usrBCOnline -ssadd -sstype c -d ASPState -S localhost

  • Mapping Drive Letters to Network Location

    To Map a network location to a drive letter:

    1. Open Computer
    2. Click Map network drive
    3. Select the drive letter (for example F:)
    4. Select the network folder you want to link it to (for example \\FS01\userdata$[USERNAME])
    5. Check Reconnect at logon
  • Mitel - Pre-Recorded Messages
    Pre-recorded messages (for holidays, website down, etc.) are recorded into the system mailbox and activated in the system administration section of the controller software.
     
    These pre-recorded messages will only apply to the auto-attendant, which only answers the Best Companies main line (3999, 01978 856222)
     
    To record a message:
    1. Dial 7000 from any phone
    2. When you get an answer, press *
    3. Dial 9999 to get into the system mailbox
    4. Enter the passcode
    5. Select option 4 to record system greetings
    6. Select the greeting set that you want to record to (1-9, 1 is the main greeting, 2-9 are alternative greetings that need to be assigned in the system console)
    7. Press 2 to select the business closed greeting
    8. Record your message after the beep, then press a key when done
    9. You'll now get some options:
      1. Press 1 to accept the recording
      2. Press 2 to review the message
      3. Press 3 to re-record the message
        1. Press any key to finish recording
        2. The system will playback the message; press 1 to accept, 2 to listen again or 3 to re-record
        3. Press * when you've finished to exit the menu
    10. Hang up to complete the recording stage

    (Message scripts are stored in J:\BC\Best Companies Team\Telephone Messages)

     

    To apply the greeting set:

    1. Log into the system administration tool for the phone system
    2. Select All Forms
    3. Select Greetings Assignment
    4. The Port IDs relate to voicemail ports - the first five are assigned to the auto-attendant system, so these are the ones to change
    5. Select the entry to modify and click Change
    6. Select the greeting from the drop-down (this is the greeting set as specified in step 6 above)
    7. Click Save

    Greetings currently set:
    (these are set to play in night 2 mode)

     

    Set # Current Message Type
    2
    Christmas Party
    3
    Accreditation Event
    4
    ST Awards
    5
    Team Building
    6
    Weekly Meeting
    7
    Christmas Holiday
    8
    Event
    9
    World Cup

     

    N.B. - This process needs to be followed carefully; using admin (instead of manager) access gives the option to reset the entire phone system to its default settings.

  • Can't Access Sophos Endpoint Security and Control

    When you try to access Sophos locally, you may get the following message:

    "You do not have sufficient privileges to run the Sophos Endpoint Security and Control main application. You are not a member of any of the Sophos groups."

    Found the following article, which describes this issue (in essence, the SIDs of the local Sophos groups are wrong when compared with the central control database). This doesn't cause any issues with the effectiveness of the AV; it will still update and detect/ deal with threats but it prevents local access to the client application.
    http://www.sophos.com/en-us/support/knowledgebase/113207.aspx

    To fix this issue:

    The fix is to either run a vbs file (provided in the link) with some manual steps afterwards or follow this procedure:


    Manually calculate the SID value and update the XML file

    Obtain the new SID values

    1. Open a command prompt (Start | Run | Type: cmd.exe | Press return).
    2. Type: wmic /node:localhost group where (localaccount=true and name like 'sophos%') GET Caption, SID > SophosLocalGroups.txt
    3. Open the SophosLocalGroups.txt file in Notepad by typing SophosLocalGroups.txt from the command prompt.
    4. Once you have run this open the file SophosLocalGroups.txt using Notepad.exe to obtain the new SIDs of the Sophos groups.

    Update the existing SID values to the new ones

    1. Open Windows services (Start | Run | Type: services.msc | Press return) and stop the Sophos Anti-Virus service.
    2. Open one of the following files in a text editor, such as Notepad.exe, according to your operating system:
    3. For Windows Vista and above:
    4. C:\ProgramData\Sophos\Sophos Anti-Virus\Config\machine.xml
    5. For Windows 2000/2003/XP:
    6. C:\documents and settings\All users\Application data\sophos\Sophos Anti-Virus\Config\machine.xml
    7. At the top of the file, locate the 'Security' section. Using the ID values you obtained above, for each of the roles, update the SID values to the new SID value for the local groups, for example,
      1. <role name='SophosAdministrator'><SID>S-1-5-21-3575766963-4128555015-3935694525-1029</SID></role>
      2. <role name='SophosPowerUser'><SID>S-1-5-21-3575766963-4128555015-3935694525-1028</SID></role>
      3. <role name='SophosUser'><SID>S-1-5-21-3575766963-4128555015-3935694525-1027</SID></role>
      4. Where:
      5. S-1-5-21-3575766963-4128555015-3935694525 is the new SID of the machine, the last number is the unique group identifier.
      6. Note: There may be more than one SID value for each account. In this case you can add an additional line using the new SID value. Example:
      7. <role name='SophosAdministrator'>
      8. <SID>S-1-5-21-286604240-1627713736-1734124843-1234</SID>
      9. <SID>S-1-5-21-286604240-1627713736-1734124843-2345</SID>
      10. <SID>S-1-5-21-286604240-1627713736-1734124843-3456</SID>
      11. </role>
    8. Once the file machine.xml has been updated, save the file.
    9. Start the Sophos Anti-Virus service.
    10. Check that the account, which is a member of one of the above Sophos groups, can now open the Sophos Endpoint Security and Control user interface.
  • Phone Call Sound Quality Poor

    If somebody reports poor quality sound when they're on the phone and nobody else has the same issue:

    • Check that the curly cord is working (try moving it when you're on a call to ensure there's not too much sound distortion) - if it's faulty, replace it
    • Check the patch leads (especially the clips) - if any are broken then replace the lead

    The patch lead issue can also manifest itself as the phone either taking too long to boot or not booting at all

    If other people have the same issue then this would suggest some kind of network issue - possibly a heavy load over part of the network

  • Modify an Opera Document Layout

    To modify a document or report layout in Opera:
    Firstly, identify the report or document name

    To get the file name:

    1. Log in to Opera as the ADMIN user
    2. Switch to the affected company (use company Z if the document which has an issue would affect the nominal ledger, such as an invoice. If this isn't possible, proceed with caution and under guidance from the Finance team)
    3. Run the report or document type that you need (get information from the end user to find out how and where to run this)
    4. Publish the report to screen
    5. The report designer will pop up in layout mode (if it doesn't then you've not logged in as ADMIN)
    6. Make a note of the file name from the title bar of the report designer (don't worry about the frx extension)
    7. Close the report designer and then also close the resulting report

    To modify the layout:

    1. From a command prompt, copy the intended report or document to company Z

    for example, if you're going to modify the invoice layout for Best Companies, the commands will be:

    • cd \\[server]\server vfp static and dynamic\reports
    • copy g_inin.* z_inin.* (overwrite when prompted)

    Create a backup copy of the existing layout:

    • copy g_inin.* old_g_inin.* (or similar)
    1. Follow steps 3-5 as above
    2. Modify the layout as required using the report controls toolbox
    3. Close the report designer saving the layout as necessary
    4. Check and close the resulting report

    When the layout is correct, use the command prompt you opened earlier to copy the report back across the original:

    • copy z_inin.* g_inin.* (overwrite when prompted)
    1. Close the command prompt and Opera
  • Change a Name on Proteus Reports

    To change a name on Proteus:

    1. Log onto the Proteus server (REP01)
    2. Start Proteus Office and login
    3. Navigate to Organisation | Extensions
    4. Select the person from the list and click Edit
    5. Click Rename and type the new name into the box
    6. Click OK (twice) and Close
    7. Disconnect (don't log out) from REP01
  • Set up MIDAS

    To set up MIDAS:

    1. Copy L:\IT\Programs\Midas to c:\Program Files (x86)\
    2. Create a shortcut to midas.exe
  • Black Border Around Screen

    If a black border appears around the screen when using an AMD graphics adapter, this may be due to a change in their drivers which causes it to incorrectly detect a full-HD monitor as a TV and automatically apply a 10% underscan

    Firstly, update the graphics driver. If that doesn't fix the issue, change the overscan setting manually:

    1. Start Catalyst Control Center
    2. Navigate to My Digital Flat-Panels | Scaling Options
    3. Tick the box for 'Use the scaling values instead of the customized settings...'
    4. Set the overscan slider to 0% (the far-right setting)
    5. Click Apply

    If two monitors are in use, change to the second one in the drop-down and follow steps 2-5

  • Lync Can't Connect on Windows Phones

    If the Windows Phone Lync client can't connect, it could be using the wrong addresses to access the server.

    To diagnose and fix:

    1. Sent myself the Lync logs from my phone (Lync client | ... | Settings | Logging | Email Logs)
    2. Checking through the logs, saw multiple 'E_ConnectionError (E2-2-1)' errors when trying to connect to either of the Lync discovery addresses
    3. Searching for the error message led me here:
      http://answers.microsoft.com/en-us/winphone/forum/wp8-wppersonal/lync-2013-online-sign-in-connection-failure-on/5aedf7d1-1023-4005-b71c-5446f9257ca0
    4. Where it suggested the following
      1. Under 'Show Advanced Options' (on Lync sign-in screen), Toggle “Auto-detect sever” to “Off
      2. In 'Internal Discovery Address' type: https://lyncdiscoverinternal.jh-austin.co.uk/Autodiscover/autodiscoverservice.svc/Root
      3. In 'External Discovery Address' type: https://lyncdiscover.jh-austin.co.uk/Autodiscover/autodiscoverservice.svc/Root
    5. Tried this suggestion, using our two Lync discovery addresses (shown in the above example) but still couldn't connect. Then attempted to connect to the external discovery address using a web browser on my Surface (using public Wi-Fi - this gave a certificate error (certificate name is listed as ocs.jh-austin.co.uk)
    6. I then modified the addresses as shown below and could then connect to Lync on my phone

    Internal Discovery Address: https://lync13.uk.jh-austin.co.uk/Autodiscover/autodiscoverservice.svc/Root

    External Discovery Address: https://ocs.jh-austin.co.uk/Autodiscover/autodiscoverservice.svc/Root

  • Set a Background Image for the Logon Screen

    A logon screen background image can be set in one of two ways - through the registry or in a local group policy (Windows 7) / network group policy (Windows 8). The preferred method is via the registry as then there isn't extra group policy processing required. Both methods require local administrator rights.

    Registry method:

    1. Start regedit
    2. Navigate to HKLM\Software\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background
    3. Create a DWORD value, name it OEMBackground and set it to 1
    4. Close the registry editor

    n.b. - changing the theme in Windows may set this back to 0

    Local group policy method:

    1. Start gpedit.msc
    2. Navigate to Computer Configuration\Administrative Templates\System\Logon
    3. Set Always use custom login background to enabled
    4. Click OK
    5. Close the group policy editor

    Set the file to use (common to both methods):

    • Images used for the background exist in this location: c:\windows\system32\oobe\info\backgrounds - you'll probably need to create info and backgrounds
    • Copy the image(s) you wish to use into the backgrounds directory
    • The names for these files must follow this convention and must be 256KB or less:

    backgroundDefault.jpg
    background800x600.jpg
    background1024x768.jpg
    background1280x1024.jpg
    background1600x900.jpg
    background1600x1200.jpg
    background1920x1080.jpg
    background1920x1200.jpg
    ...etc.

    • Windows will pick the one that matches the screen resolution first, backgroundDefault.jpg (stretched, if necessary) if it can't find one for the correct resolution and the system default background if it can't find any other image to use.
  • I can't log in to Comment Typing locally, how can I change this?

    If you are having difficulties when trying to log in to Comment Typing locally, you can try the following steps. This guide assumes that you have the Comment Typing solution open.

    1. In the Comment Typing project, expand the Web References folder
    2. Right click on BCWebService and select Update Web Reference
    3. Right click on the overall solution and select Set Startup Projects
    4. Click the Multiple startup projects radio button
    5. From the displayed list change the Action for CommentTyping and WebServices to Start
    6. Click the OK button and run the solution. You should now be able to log in locally as any user
  • Mitel - Remove an Extension
    There are a number of processes to remove an extension from the Mitel system:
    1. Remove from paging groups
    2. Remove from pickup groups
    3. Remove from ring groups
    4. Remove the DDI number
    5. Remove line key assignments
    6. Remove the user configuration
    Remove from Paging Groups:
    1. Go to Page Group Assignment form
    2. Select the necessary page group in the top pane
    3. Select "Go To:" "Number"
    4. Type the extension number into the "Value:" box
    5. Click "Go"
    6. Click "Delete Member" and confirm the next two prompts
    Remove from Pickup Groups:
    1. Go to Pickup Group Assignment form
    2. Select the necessary pickup group in the top pane
    3. Find and highlight the number in the group (bottom pane)
    4. Click "Delete Member" and confirm when prompted
    5. Repeat steps 2-4 for each pickup group that the extension belongs to
    Remove from Ring Groups:
    1. Go to Ring Group Assignment form
    2. Select the necessary pickup group in the top pane
    3. Find and highlight the number in the group (bottom pane)
    4. Click "Delete Member" and confirm when prompted
    5. Repeat steps 2-4 for each ring group that the extension belongs to
    Remove the Speed Call (DDI) Number:
    1. Go to the System Speed Call Assignment
    2. Select "Go To:" "Actual Number"
    3. Type the extension number into the "Value:" box
    4. Click "Go"
    5. Click "Delete" and confirm when prompted

    Remove Line Key Assignments:

    Method 1:

    1. Go to the Multiline Set Key Assignment form
    2. Select extension "1001" (or any other extension that has no line keys assigned) from the middle pane (labelled "Multiline Set Key Assignment")
    3. Click "Copy Keys"
    4. Enter the target extension (the one you're deleting) into the box labelled "Copy selected keys to directory number(s):"
    5. Put a tick into the check box in the title row - this will copy every key
    6. Click "Copy"

    Method 2:

    1. Go to the Multiline Set Key Assignment form
    2. Select "Find a Field Named:" "Directory Number"
    3. Type the extension number into the "That has a value:" box
    4.  Click "Search"
    5. In the lower pane, click "Change All Members"
    6. For each button, delete the contents of any typed fields, set the "Line Type" to "Not Assigned" and blank the "Ring Type" field
    7. Click "Save"
    Remove the User Configuration:
    1. Go to User Configuration form
    2. Select "Find a field named:" "Number"
    3. Type the extension number into the "That has a value:" box
    4. Click "Search"
    5. Click "Delete" and confirm when prompted
  • Adding A New Starter To Opera

    There are two methods to add a new user to the Opera system - copying an existing user and creating a new user account. Both are done from within Opera using an account with the necessary permissions (n.b. - these are internal to Opera and are not influenced by network permissions, except having access to the Opera data directory).

    Both methods:

    1. Login to Opera
    2. Go to Administration | System | Maintenance | User Profiles

    Method 1 (Copying an existing user):

    1. Select an existing user (the list tab is easiest for this) - try to find a user with the equivalent rights required (or as near as possible)
    2. Click the Copy Data button (or press CTRL + M)

    Method 2 (Creating a new user):

    1. Click create a new record (first button on the toolbar - or press CTRL + N)

    Both methods:

    In the General tab

    1. Enter a user ID (must be 8 characters or less)
    2. Enter the user's name
    3. Enter and verify the password (must be 8 characters or less and is alpha-numeric only)
    4. Set any options such as manager rights or company access as needed (may not be necessary if copying from an existing user)

    In the Menu Access tab:

    1. Select whichever modules and options are required (may not be necessary if copying from an existing user)
  • Trust Relationship Failed

    If you see the message "The turst relationship between this workstation and the domain has failed" then there may be a few different underlying problems.

    The main two causes are either due to a time difference between the workstation and server or because the locally stored credentials don't match the server. The fix is to get the PC to re-authenticate against the server, which can be done in various ways:

    Preferred Method:

    1. Unplug the network cable
    2. Log on to the PC (can use a network account if the credentials are stored locally)
    3. Check the time against the network (another PC is fine for this)
    4. If the time is OK, plug in the network cable and allow the PC to reconnect
      1. You may also need to set the network connection to 'Work' in the 'Network and Sharing Center'
    5. Lock and unlock the PC to re-authenticate

    The other method as described in various forums is to remove the PC from the domain and add it back in

  • Zendesk Licenses: Best practices for removing agents

    There is an article written on this topic by Zendesk so the link is below.

    In summary there are three stages:

    1. Reassign the agent's tickets
    2. Downgrade the agent's role
    3. Suspend the agent's account

    However, there are various things to check along the way so I'd advise following the Zendesk article on removing agents.

  • Mitel - Add an Extension
    Creating a User:
    1. Add a user account
    2. Set up a DDI number if necessary
    3. Set up a default account code if necessary
    4. Copy any required keys from another extension
    5. Add to any pickup groups as required
    6. Add to any ring groups as required
    7. Add to any page groups as required
    8. Change the call rerouting assignment
    9. Modify the phone list: https://net.jh-austin.co.uk/Wiki/PhoneList.aspx
    10. Add the extension number to Proteus
     
    Adding a user account:
    1. Go into the "System Administration Tool" on the Mitel system
    2. Select "All Forms" from the drop-down menu
    3. Navigate to the "User Configuration" form
    4. Click "Add"
    5. Set the following options:
    6. Last Name = enter the full name into here (this allows the phone books to be formatted sensibly)
    7. Number = enter the next extension number in sequence for that company
    8. Class of Service (Day, Night1, Night2) = 5
    9. Class of Restriction (Day, Night1, Night2) = 6
    10. Personal Speed Call Allocation = 20
    11. User Type = Hot Desk User
    12. PIN = 1234
    13. Ensure that Voice Mail is ticked
    14. Untick Desktop Admin
    15. Click "Save"
     
    Setting a DDI number:
    1. Go to the System Speed Call Assignment form
    2. Click Add and enter the DDI number required without the STD code (e.g. 857100) (Valid numbers are in the 857100-857199 range)
    3. Set the "Actual number" to the extension number
     
    Setting a default account code:
    (This helps with costing)
    1. Go to the Station Service Assignment form
    2. Select "Go To:" "Number"
    3. Enter the extension number in the "Value:" box
    4. Click "Go"
    5. Click "Change"
    6. Enter the required account code into the "Default Acct. Code:" box (see here for a list of default account codes)
    7. Click "Save", confirming as required

    Copy Key Selections:

    1. Go to the "Multiline Set Key Assignment" form
    2. Select "Find a field named:" "Directory Number"
    3. Enter the extension number that you wish to copy from into the "That has a value of:" field
    4. Click "Search"
    5. In the lower pane, click "Copy Keys"
    6. Enter the extension that you wish to copy to in the "Copy selected keys to Directory Number(s):" field
    7. Select the check boxes for the keys that you want to copy
    8. Click "Copy"

     

    Add to Pickup Groups:

    1. Go to the "Pickup Group Assignment" form
    2. Select the pickup group in the top pane
    3. Click "Add Member"
    4. Enter the extension number that you wish to add
    5. Click "Save"

    Add to Ring Groups:

    1. Go to the "Ring Group Assignment" form
    2. Select the ring group in the top pane
    3. Click "Add Member"
    4. Enter the extension number that you wish to add
    5. Click "Save"
    6. Repeat 2-5 for any other ring groups that the extension should be in

     

    Add to Page Groups:

    1. Go to the "Page Group Assignment" form
    2. Select the page group in the top pane
    3. Click "Add Member"
    4. Enter the extension number that you wish to add
    5. Click "Save"

     

    Change the Call Rerouting Assignment:

    1. Go to the "Call Rerouting Assignment" form
    2. Find and select the extension number
    3. Click "Change"
    4. Enter the call rerouting information as required (generally, 1st Alt should be set to "2", for voicemail)
    5. Click "Save"

     

    Default Account Codes:

    (And account codes required if manually entered onto a phone)
    1 - J H Austin Group (110)
    2 - Coffee Oasis (120)
    3 - Best Companies (130)
    4 - Pro-Ex (140)
    5 - Bentley (150)
    6 - Kia (160)
    7 - Best Companies Partnership (170)
  • Grant Access to Another Mailbox

    Grant access to a mailbox:

    1. Login to Exchange Control Panel (https://mail.jh-austin.co.uk/ecp)
    2. Navigate to Recipients | Mailboxes (or Recipients | Shared for shared mailboxes)
    3. Find the mailbox that needs to be accessed and double-click it
    4. Click Mailbox delegation
    5. For each type of access, click the + sign and add each person that needs access (the name(s) will appear in the add -> box)
    6. Click ok

    n.b - Full Access does not grant that person the right to send mail as the other user/shared mailbox

  • Fix a Corrupt Outlook Data File

    If you get an error message when starting Outlook that suggests that the data file is corrupted or can't be opened then generally the best thing to do is to allow Outlook to automatically re-create the file. Obviously, this is something that should be done when the machine is attached to the network.

    If an error message appears, it will very often reference the data file. If not, the normal location for Outlook data files is:
    c:\Users\[Username]\AppData\Local\Microsoft\Outlook

    The data file will be a .ost file and is generally named as:
    [email address] - [username].ost

    To replace a corrupt data file:

    1. Exit Outlook, Lync and anything else that accesses the file
    2. Navigate to the data file location and rename the file - for example, prefixing the name with OLD_
    3. Restart Outlook - this will automatically re-create the data file and synchronise it against Exchange

    Note that rebuilding the data file can take some time, depending on the size of the mailbox and network conditions. During this time, normal email traffic to/from the account could be delayed so it may be worthwhile using OWA instead.

  • Replace a DECT Cordless Phone

    When a cordless phone is replaced, the new one needs to be subscribed against the system. To do this:


    Log into the OpenMobility Manager (hosted through the 'primary' DECT access point):
    - Ensure you have an IP address in the 172.30.255.x range
    - Turn off proxy settings
    1) Navigate to http://172.30.255.48
    2) Login using the details stored on SharePoint
    3) Navigate to Portable Parts
    4) Click Start (under Conventional Installation) - Subscription Allowed should now have a tick beside it
    5) Delete the old phone by clicking on the bin icon beside it in the device listing
    6) Click New
    7) Enter a name, the number and the IPEI:
    a) On the phone, navigate to Menu | System and press OK
    b) Navigate to IPEI and press OK
    8) Make a note of the authorization code and click OK
    9) Make a note of the PARK (shown on the right-hand of the window)
    10) Start the Mitel Admin Console and open the Wireless Phones IP Set Configuration form
    11) Find the extension number for the new phone, select it and click Change
    12) Copy and paste the MAC Address from the OMM console into the relevant field
    13) Click Save followed by OK and exit the Mitel Admin Console
    14) Subscribe the phone:
    a) On the phone, navigate to Menu | System and press OK
    b) Navigate to Subscription and press OK
    c) Press New and dial in the PARK (include the asterisk)
    d) Press Go On
    e) Dial in the authorization code and press OK
    15) On the OMM console click Stop - Subscription Allowed should now have a cross beside it
    16) Click Exit

  • Block Spam Using PureMessage (server level blocking)

    To block spam messages from the server:

    1. Start PureMessage (on Exchange server)
    2. Navigate to Configuration | Transport (SMTP) scanning policy | Content
    3. Click on Define for Inbound messages | On blocked phrase
    4. Click Add
    5. Type the text that you want to filter on
    6. Select whether PureMessage should check the subject, body text or both
    7. Click OK
    8. Click Save changes (in the right-hand action pane)
  • How do I install TimeLog?

    If you are working in the Innovation department you will need to use a program called TimeLog to record time against tasks that you are performing.

    TimeLog should be installed on your computer when it is set up but if it is missing you can add it by following these steps;

    • Navigate to the installer
    • You should be show a screen like the one shown here;

    • Once here, click on the Install button.
    • You may be warned that the link cannot be trusted and asked whether you are sure that you want to continue. You can say yes to this question. The program has been developed by us and we have not purchased a certificate to stamp the app as trusted. Where as this warning should normally result in you not continuing, in this instance it is ok.

    Once the installation process has finished TimeLog should open and you can begin using it.