INSTRUCTIONS:
Scroll down until you reach your current version (shown in bottom left of program window). Then work
your way back up implementing any database changes or other instructions as you go.

Changes to the exe are cumulative, so you just need to copy across this from the most
recent zip file to your local machine.

=======================================================================================
Release: 4.0.188 Date: 25/03/2012
=======================================================================================
1. Allow renaming of Job, Problem  To-do and Solution
Desktop Helpdesk: Tools menu, System Options, Terminology

2. New System Option to make entry in Solution field mandatory before closing Job
Desktop Helpdesk: Tools menu, System Options, General

3. Add operator privileges to control if operators may change a Job's priority, change target completion datetime ,
close jobs, place jobs on hold.

Desktop Helpdesk: Edit the operator. Changes take effect when you log in.

4. Log auto-escalations in the operator activity.

5. New report for number of escalated jobs per operator.
Desktop Helpdesk: On the Reports menu. Please note, that becaue we have only just started logging escalations, this will not show any data prior to this version.

6. Automatically update On-hold Job target completion date at all times (but obviously only whilst the application is
running somewhere). Prior to this change, the target completion date was only updated if you chose to action an on-hold job.

7. Change treeview item label "Active Operators" to "Logged in Operators". Change "Remove Operator" popup menu option to "Log out Operator"

Items affected : history.txt, lbehdesk.exe, database:


MS ACCESS
=========
ALTER Table users add column change_priority bit;
ALTER Table users add column close_job bit;
ALTER Table users add column hold_job bit;
ALTER Table users add column change_target bit;
alter table system add column term_job text(30);
alter table system add column term_problem text(30);
alter table system add column term_solution text(30);
alter table system add column term_todo text(30);
ALTER TABLE system add column mandatory_solution bit;
alter table opactivity add column activity_type text(1);
alter table jobs add column last_onhold_update date null;
update system set term_job='Job', term_solution='Solution', term_problem='Problem',term_todo='To Do',mandatory_solution=0;
update users set change_priority =1,close_job=1,hold_job=1,change_target=1 ;

MS SQL
=========
use lbehelpdesk
go
ALTER Table users add change_priority bit null
go
ALTER Table users add close_job bit null
go
ALTER Table users add hold_job bit null
go
ALTER Table users add change_target bit null
go
alter table system add term_job varchar(30)
go
alter table system add term_problem varchar(30)
go
alter table system add term_solution varchar(30)
go
alter table system add term_todo varchar(30)
go
ALTER TABLE system add mandatory_solution bit null
go
alter table opactivity add activity_type varchar(1)
go
alter table jobs add last_onhold_update datetime null
go
update system set term_job='Job', term_solution='Solution', term_problem='Problem',term_todo='To Do',mandatory_solution=0
go
update users set change_priority =1,close_job=1,hold_job=1,change_target=1

ORACLE
======
connect lbe_owner/lbe;
ALTER Table users add   change_priority number (1,0)  DEFAULT 0 NOT NULL;
ALTER Table users add   close_job number (1,0)  DEFAULT 0 NOT NULL;
ALTER Table users add   hold_job number (1,0)  DEFAULT 0 NOT NULL;
ALTER Table users add   change_target number (1,0)  DEFAULT 0 NOT NULL;
alter table system add   term_job varchar2(30);
alter table system add   term_problem varchar2(30);
alter table system add   term_solution varchar2(30);
alter table system add   term_todo varchar2(30);
ALTER TABLE system add   mandatory_solution number (1,0)  DEFAULT 0 NOT NULL;
alter table opactivity add   activity_type char(1);
alter table jobs add   last_onhold_update date null;
update system set term_job='Job', term_solution='Solution', term_problem='Problem',term_todo='To Do',mandatory_solution=0;
update users set change_priority =1,close_job=1,hold_job=1,change_target=1 ;
alter package pkg_lbe compile;
alter package pkg_lbe compile body;

commit;

=======================================================================================
Release: 4.0.187 Date: 19/05/2011
=======================================================================================
1. Fixed error when saving Customer if using MS Sql and have changed customers.notes field to type "text"

Items affected : history.txt, lbehdesk.exe
=======================================================================================
Release: 4.0.186 Date: 06/03/2010
=======================================================================================
1. Fixed incorrect values in helpdesk activity reports.

Items affected : history.txt, lbehdesk.exe

=======================================================================================
Release: 4.0.185 Date: 01/02/2010
=======================================================================================
1. Fixed bug that reset category when select a Contact on the Job Edit screen.

Items affected : history.txt, lbehdesk.exe

=======================================================================================
Release: 4.0.184 Date: 20/12/2009
=======================================================================================
1. Customer-Associated Categories: You can now associate Categories to particular Customers.
Implementation effectively gives customer-specific priorities,
workhours and escalations (because you can already specify category-specific
priorities and workhours). If there are customer-associated categories, then
it is no longer possible to change the Customer assigned to an existing job, i.e. the only
contacts shown on the drop-down (or search box selection) will be those
from that Customer.  If there are no associated categories for a particular
customer, and no Generic categories have been defined, the system will auto-generate a
generic category so that there is one available to choose.
2. Addition of "generic" field to Category. If ticked, then this category plus any customer-specific
categories are available to a job created for a particular customer. Categories
marked as generic will not be available as Customer associated categories

Items affected : history.txt, lbehdesk.exe, desktop_help.htm

Database changes:

MS ACCESS
=========
ALTER Table person add column add_others bit;
ALTER Table person add column update_others bit;
ALTER Table person add column view_others bit;
Alter table categories add column generic bit;
update categories set generic=1;
CREATE TABLE cat_cust_assoc (cust_id long  not null, cat_id long not null, CONSTRAINT pk_cust_pri PRIMARY KEY (cust_id,cat_id)) ;
delete from gridexsql where type='CATEGORIES';
INSERT INTO gridexsql (type, sqlSelect) values ('CATEGORIES',  'Select category_id as Id, category_name as Name, Default, Generic, Custom1, Custom2 from categories WHERE deleted = 0');
delete from opgridexview where gridexsqltype='CATEGORIES';

MS SQL
======
use lbehelpdesk
go
alter table person add  add_others bit
Go
alter table person add  update_others bit
Go
alter table person add  view_others bit
Go
alter table categories add  generic bit
Go
update categories set generic=1
GO
CREATE TABLE [dbo].[cat_cust_assoc] (
	[cust_id] [int] NOT NULL ,
	[cat_id] [int] NOT NULL
) ON [PRIMARY]
GO
delete from gridexsql where type='CATEGORIES';
INSERT into gridexsql (type,sqlselect) values('CATEGORIES', 'SELECT categories.Category_Id AS Id, Categories.Category_Name AS Name, categories.[default], categories.generic, categories.Custom1, categories.Custom2, Users.User_Name AS
Default_Operator_Web, categories.escal_email AS Escalation_email, categories.escntfyop AS Notify_Operator_Override,
case when (select count(cat_id) from cat_pri_assoc where cat_pri_assoc.cat_id=categories.category_id) > 0 then 1 Else 0 END as Custom_Priorities,case when (select count(cat_id) from workhrs where workhrs.cat_id=categories.category_id) > 0 then 1 Else 0 END  as Custom_Work_Hours
FROM categories LEFT JOIN Users ON categories.op_id = Users.User_Id
WHERE categories.Deleted=0')
GO
GRANT  SELECT ,  INSERT ,  DELETE ,  UPDATE  ON [dbo].[cat_cust_assoc]  TO [lbe_user]
GO

ORACLE
======
connect lbe_owner/lbe;
alter table person add  add_others number (1,0)  DEFAULT 0 NOT NULL;
ALTER Table person add  update_others number (1,0)  DEFAULT 0 NOT NULL;
ALTER Table person add  view_others number (1,0)  DEFAULT 0 NOT NULL;
ALTER Table categories add  generic number (1,0)  DEFAULT 1 NOT NULL;
update categories set generic=1;
CREATE TABLE cat_cust_assoc (
    cust_id number (11,0)  not null,
    cat_id number (11,0) not null,
    CONSTRAINT pk_cat_cust PRIMARY KEY (cust_id,cat_id)) ;
delete from gridexsql where type='CATEGORIES';
INSERT into gridexsql (type,sqlselect)
values('CATEGORIES','SELECT categories.Category_Id AS Id,
categories.Category_Name AS Name, categories."DEFAULT", categories.generic,
categories.Custom1, categories.Custom2, Users.User_Name AS Default_Operator_Web,
categories.escal_email AS Escalation_email, categories.escntfyop
AS Notify_Operator_Override
FROM categories,users WHERE
categories.Deleted=0 AND categories.op_id = users.user_id (+)');

GRANT  SELECT ,  INSERT ,  DELETE ,  UPDATE  ON cat_cust_assoc  TO lbe_user;
connect lbe_user/lbe;
create synonym cat_cust_assoc for lbe_owner.cat_cust_assoc;

commit;

=======================================================================================
Release: 4.0.183 Date: 04/02/2009
=======================================================================================
1.  Fixed bug in "latest version" checking

Items affected : history.txt, lbehdesk.exe


=======================================================================================
Release: 4.0.182 Date: 24/11/2008
=======================================================================================
1.  Fixed bug in MS Sql scripts for creating a new database

Items affected : history.txt, lbehdesk.exe, create.sql, data.sql

=======================================================================================
Release: 4.0.181 Date: 04/05/2008
=======================================================================================
1.  removed extra "0." in the version number shown in this file

Items affected : history.txt

=======================================================================================
Release: 4.0.0.180 Date: 14/12/2007
=======================================================================================
1.  Fixed "runtime error 13" when running jobsheet report.

Items affected : lbehdesk.exe

=======================================================================================
Release: 4.0.0.179 Date: 02/12/2007
=======================================================================================
1.  Modified "copy job" so that history is not copied. This is more consistent with
existing functionality when creating a child job.

Items affected : lbehdesk.exe

=======================================================================================
Release: 4.0.0.178 Date: 30/11/2007
=======================================================================================
1.  New facility to copy a job.

Items affected : lbehdesk.exe

=======================================================================================
Release: 4.0.0.177 Date: 27/09/2007
=======================================================================================
1.  Jobsheet report now has job id included in the <title> tag

Items affected : lbehdesk.exe

=======================================================================================
Release: 4.0.0.176 Date: 20/07/2007
=======================================================================================
1.  Fixed: If defined an operator as only able to see own jobs, actioning a job could in some
circumstances, have another operator listed as the "actioned by"

Items affected : lbehdesk.exe

=======================================================================================
Release: 4.0.0.175 Date: 09/07/2007
=======================================================================================
1.  Added CUSTOMER_CUSTOM1 and CUSTOMER_CUSTOM2 to list of tags allowed in email templates

Items affected : lbehdesk.exe, email templates

=======================================================================================
Release: 4.0.0.174 Date: 02/07/2007
=======================================================================================
1.  Lifted restriction of 255 char on customer notes field to 64,000 and made the Customers
window resizable. This is an optional change. You will need to change the customers.notes
column in the database to type "memo" (or "text" for MS Sql) if you wish to implement this.

Items affected : lbehdesk.exe, database

=======================================================================================
Release: 4.0.0.173 Date: 18/05/2007
=======================================================================================
1.  Fixed crash if using search boxes for contact name on Job Edit window.

Items affected : lbehdesk.exe

=======================================================================================
Release: 4.0.0.172 Date: 16/05/2007
=======================================================================================
1.  Fixed bug if no internet connection when does automatic update check

Items affected : lbehdesk.exe

=======================================================================================
Release: 4.0.0.171 Date: 10/05/2007
=======================================================================================
1.  Added automatic check for updates to Help menu

Items affected : lbehdesk.exe


=======================================================================================
4.0.0.170
=======================================================================================
1.  Fixed "accessor" error when using Oracle 10g

Items affected : lbehdesk.exe



=======================================================================================
4.0.0.169
=======================================================================================
1.  Default name for "new view" changed to datetime plus " - please rename"

Items affected : lbehdesk.exe

=======================================================================================
4.0.0.168
=======================================================================================
1. Fixed problem of email going to wrong address if using Groupwise email

Items affected : lbehdesk.exe

=======================================================================================
4.0.0.167
=======================================================================================
1. Fixed error when adding new customer if using Ms Sql Server

Items affected : lbehdesk.exe

=======================================================================================
4.0.0.166
=======================================================================================
1. Changed Forename->Firstname, Surname->Lastname
2. Implemented new knowledgebase functionality - this info is now stored in tables
separate from the jobs and can be viewed, edited, deleted separately. Can now populate
job problem & solution from the kb. If you are viewing the kb and have an item selected
when you click the "new job" button, the new job will have the problem & solution
automatically populated from the selected kb item.
3. Added new tag to email templates (#BCC) which allows you to specify a ; separated
list of email addresses which will receive a bcc copy of the email. This can be handy
for e.g. notifying a manager when a job is closed (or put on hold etc.)
4. No longer possible to click "save and create child job" if the job status is closed.
5. Two additional custom fields on the Jobs window. PLEASE NOTE, any existing data views will
not show these fields, new data views on "Jobs Detailed", will
6. Added #JOB_CUSTOM3 and #JOB_CUSTOM4 to list of tags that can be used in the email templates

 Items affected : lbehdesk.exe, database, desktop_help.htm, jobsheet.txt

DATABASE CHANGES:
If you using the default Access format database these changes will be done
automatically the first time you run this new version of the helpdesk.
All you need to do is copy the lbedbconvert.sql file from the update zip
into the desktop helpdesk installation folder on one of your machines.

It will run the first time you run the helpdesk, then automatically
delete the lbedbconvert.sql file.

If you are running MS Sql or Oracle, you will need to run the appropriate
scripts below. If are not sure how to do so, please contact LBE.

ACCESS
======

CREATE TABLE kb (id counter, problem memo, solution memo) ;
INSERT INTO kb ( problem, solution ) SELECT Jobs.Problem, Jobs.Solution FROM Jobs WHERE Jobs.jobstatus='C' AND Jobs.exkb='N';
INSERT INTO gridexsql (type, sqlSelect) values ('KBASE', 'SELECT id, Problem, Solution from kb');
ALTER TABLE users add column editkb bit,addkb bit, deletekb bit;
update users set editkb=-1, addkb=-1,deletekb=-1;
delete from opgridexview where gridexsqltype like '%DROP%';
delete from sqlwhere where Description ='Knowledge base search (closed Jobs containing...)';
INSERT INTO sqlwhere (Description, GridexSqlType, Sequence, SqlWhere, param1name, param2name, param3name, param1type, param2type, param3type)  values ('Problem contains',',KBASE',999,'(problem like ''%<PARAM1>%'')','Search for text',null,null,'TEXT','TEXT','TEXT');
INSERT INTO sqlwhere (Description, GridexSqlType, Sequence, SqlWhere, param1name, param2name, param3name, param1type, param2type, param3type)  values ('Solution contains',',KBASE',999,'(solution like ''%<PARAM1>%'')','Search for text',null,null,'TEXT','TEXT','TEXT');

alter table system add column job3 text(255);
alter table system add column job4 text(255);
update system set job3='custom3', job4='custom4';
alter table jobs add column custom3 text(255);
alter table jobs add column custom4 text(255);
delete from gridexsql where type = 'JOBSDETAILED';
INSERT INTO gridexsql (type, sqlselect) values ('JOBSDETAILED',  'SELECT Jobs.Job_Id as Id,Jobs.ParentId as Parent_Id, Jobs.Category_Id,Jobs.Priority_Id,Jobs.Next_User_Id,Jobs.Asset_id,Jobs.Logged_At as Created,Jobs.Last_Actioned ,Jobs.To_Complete_By,Jobs.Completed_On,IIf([jobs].[completed_on] Is Null And [jobs].[to_complete_by]>Now(),''In target'',IIf([jobs].[completed_on] Is Null And [jobs].[to_complete_by]<=Now(),''Overdue'',IIf([jobs].[completed_on] Is Not Null And [jobs].[completed_on]>[jobs].[to_complete_by],''Overdue'',''In target''))) AS Completion_Status, IIF(jobs.jobstatus = ''O'', ''Open'', IIF(jobs.jobstatus=''C'', ''Closed'', IIF (jobs.jobstatus=''H'', ''On Hold''))) as Job_Status,IIf([jobs].[completed_on] Is Null ,DateDiff(''h'',[jobs].[to_complete_by],Now()),IIf([jobs].[completed_on] Is Not Null, DateDiff(''h'',[jobs].[to_complete_by],[jobs].[completed_on]),'''')) AS Hours_Overdue,IIf([jobs].[completed_on] Is Null ,DateDiff(''d'',[jobs].[to_complete_by],Now()),IIf([jobs].[completed_on] Is Not Null, DateDiff(''d'',[jobs].[to_complete_by],[jobs].[completed_on]),'''')) AS Days_Overdue,IIf([jobs].[completed_on] Is Null, DateDiff(''h'',[logged_at],Now()),DateDiff(''h'',[logged_at],[jobs].[completed_on])) AS Elapsed_Hours, IIf([jobs].[completed_on] Is Null, DateDiff(''d'',[logged_at],Now()),DateDiff(''d'',[logged_at],[jobs].[completed_on])) AS Elapsed_Days, Jobs.Hours_Spent,Jobs.Cost,Jobs.Problem,Jobs.To_do,Jobs.Solution,jobs.Notes as History,Users.User_Name as Next_Operator,Jobs.[Open] as Currently_Opened_By,Jobs.Custom1 as Job1,Jobs.Custom2 as Job2, Jobs.Custom3 as Job3,Jobs.Custom4 as Job4,Priority.Name as Priority,Priority.Custom1 as Pri1,Priority.Custom2 as Pri2,Categories.Category_Name as Category,Categories.Custom1 as Cat1,Categories.Custom2 as Cat2,Asset.Asset_no as Asset_Number,Asset.Description as Asset_Description,Asset.Manufacturer as Asset_Manufacturer,Asset.Model_No as Asset_Model_Number,Asset.Serial_No as Asset_Serial_Number,Asset.Purchase_Date as Asset_Purchase_Date,Asset.Comment as Asset_Comment,Asset.Disposed_date as Asset_Disposal_Date,Asset.Custom1 as Asset1,Asset.Custom2 as Asset2,Asset.Purch_Ord as Asset_Purchase_Order,Asset.Invoice_Num as Asset_Invoice_Number,Asset.Purch_Price as Asset_Purchase_Price,Asset.Vendor as Asset_Vendor,Ass_type.Description as Asset_type_Description,Ass_type.Custom1 as Asstype1,Ass_type.Custom2 as Asstype2,Person.Title as Contact_Title,Person.Forename as Contact_Forename,Person.Surname as Contact_Surname,Person.Job_title as Contact_Job_Title,Person.Custom1 as Person1,Person.Custom2 as Person2, Dept.Name as Department_Name,Dept.[Location] as Department_Location,Dept.Custom1 as Dept1,Dept.Custom2 as Dept2, Customers.Customer_Name,Customers.Contact_details as Customer_Reference,Customers.Custom1 as Cust1, Customers.Custom2 as Cust2, customers.Contract_Expiry, customers.Job_Allowance FROM (Priority INNER JOIN (Users INNER JOIN (Categories INNER JOIN (((Jobs INNER JOIN Person ON Jobs.Customer_Id = Person.Id) INNER JOIN Dept ON Person.Dept_Id = Dept.Id) INNER JOIN Customers ON Dept.Cust_Id = Customers.Customer_Id) ON Categories.Category_Id = Jobs.Category_Id) ON Users.User_Id = Jobs.Next_User_Id) ON Priority.Id = Jobs.Priority_Id) LEFT JOIN (Asset LEFT JOIN Ass_type ON Asset.type = Ass_type.Id) ON Jobs.Asset_id = Asset.Id ');


MS SQL
======
use lbehelpdesk
go
CREATE TABLE [dbo].[kb] (
	[id] int IDENTITY (1, 1) ,
	[problem] [text]  ,
	[solution] [text]
) ON [PRIMARY]

GRANT  SELECT ,  INSERT ,  DELETE ,  UPDATE  ON [dbo].[kb]  TO [lbe_user]
GO

INSERT INTO kb ( problem, solution ) SELECT Jobs.Problem, Jobs.Solution FROM Jobs WHERE Jobs.jobstatus='C' AND Jobs.exkb='N';
go
INSERT INTO gridexsql (type, sqlSelect) values ('KBASE', 'SELECT id, Problem, Solution from kb');
go
ALTER TABLE users add  editkb bit,addkb bit, deletekb bit;
go
update users set editkb=-1, addkb=-1,deletekb=-1;
go
delete from opgridexview where gridexsqltype like '%DROP%';
go
delete from sqlwhere where Description ='Knowledge base search (closed Jobs containing...)';
go
INSERT INTO sqlwhere (Description, GridexSqlType, Sequence, SqlWhere, param1name, param2name, param3name, param1type, param2type, param3type)  values ('Problem contains',',KBASE',999,'(problem like ''%<PARAM1>%'')','Search for text',null,null,'TEXT','TEXT','TEXT');
go
INSERT INTO sqlwhere (Description, GridexSqlType, Sequence, SqlWhere, param1name, param2name, param3name, param1type, param2type, param3type)  values ('Solution contains',',KBASE',999,'(solution like ''%<PARAM1>%'')','Search for text',null,null,'TEXT','TEXT','TEXT');
Go


alter table system add  job3 varchar(255)
Go
alter table system add  job4 varchar(255)
Go
update system set job3='custom3', job4='custom4'
Go
alter table jobs add  custom3 varchar(255)
Go
alter table jobs add  custom4 varchar(255)
Go
delete from gridexsql where type = 'JOBSDETAILED'
Go
INSERT INTO gridexsql (type, sqlselect) values ('JOBSDETAILED',  'SELECT Jobs.Job_Id as Id,Jobs.ParentId as Parent_Id, Jobs.Category_Id,Jobs.Priority_Id,Jobs.Next_User_Id,Jobs.Asset_id,Jobs.Logged_At as Created,Jobs.Last_Actioned ,Jobs.To_Complete_By,Jobs.Completed_On,CASE WHEN completed_on IS NULL AND to_complete_by < GetDate()  THEN ''Overdue'' WHEN completed_on IS NULL AND to_complete_by >= GetDate() THEN ''In target'' WHEN completed_on IS NOT NULL AND completed_on > to_complete_by THEN ''Overdue'' WHEN completed_on IS NOT NULL AND completed_on <= to_complete_by THEN ''In target'' ELSE ''Unknown'' END AS Completion_Status,CASE WHEN jobs.jobstatus=''O'' THEN ''Open'' WHEN jobs.jobstatus=''H'' THEN ''On Hold''  WHEN jobs.jobstatus=''C'' THEN ''Closed'' END as Job_Status, CASE WHEN [jobs].[completed_on] Is Null THEN  DateDiff(hh,[jobs].[to_complete_by],Getdate()) WHEN [jobs].[completed_on] Is Not Null THEN DateDiff(hh,[jobs].[to_complete_by],[jobs].[completed_on]) END AS Hours_Overdue,  CASE WHEN [jobs].[completed_on] Is Null THEN  DateDiff(dd,[jobs].[to_complete_by],Getdate()) WHEN [jobs].[completed_on] Is Not Null THEN DateDiff(dd,[jobs].[to_complete_by],[jobs].[completed_on]) END AS Days_Overdue,
CASE WHEN completed_on IS NOT NULL THEN DateDiff(hh,[logged_at],[jobs].[completed_on]) ELSE DateDiff(hh,[logged_at],GetDate()) END AS Elapsed_Hours,CASE WHEN completed_on IS NOT NULL THEN DateDiff(dd,[logged_at],[jobs].[completed_on]) ELSE DateDiff(dd,[logged_at],GetDate()) END AS Elapsed_Days, Jobs.Hours_Spent,Jobs.Cost,Jobs.Problem,Jobs.To_do,Jobs.Solution,jobs.Notes as History,Users.User_Name as Next_Operator,Jobs.[Open] as Currently_Opened_By,Jobs.Custom1 as Job1,Jobs.Custom2 as Job2,Jobs.Custom3 as Job3,Jobs.Custom4 as Job4,Priority.Name as Priority,Priority.Custom1 as Pri1,Priority.Custom2 as Pri2,Categories.Category_Name as Category,Categories.Custom1 as Cat1,Categories.Custom2 as Cat2,Asset.Asset_no as Asset_Number,Asset.Description as Asset_Description,Asset.Manufacturer as Asset_Manufacturer,Asset.Model_No as Asset_Model_Number,Asset.Serial_No as Asset_Serial_Number,Asset.Purchase_Date as Asset_Purchase_Date,Asset.Comment as Asset_Comment,Asset.Disposed_date as Asset_Disposal_Date,Asset.Custom1 as Asset1,Asset.Custom2 as Asset2,Asset.Purch_Ord as Asset_Purchase_Order,Asset.Invoice_Num as Asset_Invoice_Number,Asset.Purch_Price as Asset_Purchase_Price,Asset.Vendor as Asset_Vendor,Ass_type.Description as Asset_type_Description,Ass_type.Custom1 as Asstype1,Ass_type.Custom2 as Asstype2,Person.Title as Contact_Title,Person.Forename as Contact_Forename,Person.Surname as Contact_Surname,Person.Job_title as Contact_Job_Title,Person.Custom1 as Person1,Person.Custom2 as Person2, Dept.Name as Department_Name,Dept.[Location] as Department_Location,Dept.Custom1 as Dept1,Dept.Custom2 as Dept2, Customers.Customer_Name,Customers.Contact_details as Customer_Reference,Customers.Custom1 as Cust1, Customers.Custom2 as Cust2, customers.Contract_Expiry, customers.Job_Allowance FROM (Priority INNER JOIN (Users INNER JOIN (Categories INNER JOIN (((Jobs INNER JOIN Person ON Jobs.Customer_Id = Person.Id) INNER JOIN Dept ON Person.Dept_Id = Dept.Id) INNER JOIN Customers ON Dept.Cust_Id = Customers.Customer_Id) ON Categories.Category_Id = Jobs.Category_Id) ON Users.User_Id = Jobs.Next_User_Id) ON Priority.Id = Jobs.Priority_Id) LEFT JOIN (Asset LEFT JOIN Ass_type ON Asset.type = Ass_type.Id) ON Jobs.Asset_id = Asset.Id')



ORACLE
======
connect lbe_owner/lbe;

CREATE TABLE kb (
 id number (11,0) CONSTRAINT pk_KB  PRIMARY KEY,
 problem varchar2 (2000) NULL,
 solution varchar2 (2000) NULL ) ;

GRANT  SELECT ,  INSERT ,  DELETE ,  UPDATE  ON kb  TO lbe_user;

INSERT INTO kb ( problem, solution ) SELECT Jobs.Problem, Jobs.Solution FROM Jobs WHERE Jobs.jobstatus='C' AND Jobs.exkb='N';

INSERT INTO gridexsql (type, sqlSelect) values ('KBASE', 'SELECT id, Problem, Solution from kb');

ALTER TABLE users add  editkb number (1,0);
ALTER TABLE users add addkb number (1,0);
ALTER TABLE users add  deletekb number (1,0);

update users set editkb=-1, addkb=-1,deletekb=-1;

delete from opgridexview where gridexsqltype like '%DROP%';

delete from sqlwhere where Description ='Knowledge base search (closed Jobs containing...)';

INSERT INTO sqlwhere (Description, GridexSqlType, Sequence, SqlWhere, param1name, param2name,
param3name, param1type, param2type, param3type)  values ('Problem contains:',
',KBASE',999,'(Upper(problem) like Upper(''%<PARAM1>%''))',
'Search for text',null,null,'TEXT','TEXT','TEXT');

INSERT INTO sqlwhere (Description, GridexSqlType, Sequence, SqlWhere, param1name, param2name,
param3name, param1type, param2type, param3type)  values ('solution contains:',
',KBASE',999,'(Upper(Solution) like Upper(''%<PARAM1>%''))',
'Search for text',null,null,'TEXT','TEXT','TEXT');


alter table system add  job3 varchar2(255);

alter table system add  job4 varchar2(255);

update system set job3='custom3', job4='custom4';

alter table jobs add  custom3 varchar2(255);

alter table jobs add  custom4 varchar2(255);

delete from gridexsql where type = 'JOBSDETAILED';

INSERT INTO gridexsql (type, sqlselect) values ('JOBSDETAILED',
  'SELECT Jobs.Job_Id as Id,Jobs.ParentId as Parent_Id, Jobs.Category_Id,Jobs.Priority_Id,
  Jobs.Next_User_Id,Jobs.Asset_id,Jobs.Logged_At as Created,Jobs.Last_Actioned ,
  Jobs.To_Complete_By,Jobs.Completed_On,
  pkg_lbe.jobstatusdesc(jobs.completed_on, jobs.to_complete_by) AS Completion_Status,
  decode (jobs.jobstatus, ''O'', ''Open'', ''C'', ''Closed'', ''H'', ''On Hold'', ''Unknown'') as Job_Status,
  pkg_lbe.jobtimeoverdue(jobs.completed_on,jobs.to_complete_by,''HOURS'')  AS Hours_Overdue,
  pkg_lbe.jobtimeoverdue(jobs.completed_on,jobs.to_complete_by,''DAYS'') AS Days_Overdue,
  pkg_lbe.jobtimeelapsed(jobs.completed_on, jobs.logged_at, ''HOURS'')  AS Elapsed_Hours,
  pkg_lbe.jobtimeelapsed(jobs.completed_on, jobs.logged_at, ''DAYS'')  AS Elapsed_Days,
  Jobs.Hours_Spent,Jobs.Cost,Jobs.Problem,Jobs.To_do,Jobs.Solution,jobs.Notes as History,
  Users.User_Name as Next_Operator,Jobs.Open as Currently_Opened_By,
  Jobs.Custom1 as Job1,Jobs.Custom2 as Job2,Jobs.Custom3 as Job3,Jobs.Custom4 as Job4,Priority.Name as Priority,Priority.Custom1 as
  Pri1,Priority.Custom2 as Pri2,Categories.Category_Name as Category,Categories.Custom1 as Cat1,
  Categories.Custom2 as Cat2,Asset.Asset_no as Asset_Number,Asset.Description as Asset_Description,
  Asset.Manufacturer as Asset_Manufacturer,Asset.Model_No as Asset_Model_Number,
  Asset.Serial_No as Asset_Serial_Number,Asset.Purchase_Date as Asset_Purchase_Date,
  Asset.comment as Asset_Comment,Asset.Disposed_date as Asset_Disposal_Date,Asset.Custom1 as
  Asset1,Asset.Custom2 as Asset2,Asset.Purch_Ord as Asset_Purchase_Order,Asset.Invoice_Num as
  Asset_Invoice_Number,Asset.Purch_Price as Asset_Purchase_Price,Asset.Vendor as Asset_Vendor,
  Ass_type.Description as Asset_type_Description,Ass_type.Custom1 as Asstype1,Ass_type.Custom2 as
  Asstype2,Person.Title as Contact_Title,Person.Forename as Contact_Forename,Person.Surname as Contact_Surname,
  Person.Job_title as Contact_Job_Title,Person.Custom1 as Person1,Person.Custom2 as Person2, Dept.Name as Department_Name,
  Dept.Location as Department_Location,Dept.Custom1 as Dept1,Dept.Custom2 as Dept2,
  Customers.Customer_Name,Customers.Contact_details as Customer_Reference,
  Customers.Custom1 as Cust1,Customers.Custom2 as Cust2, customers.Contract_Expiry, customers.Job_Allowance
  FROM Ass_type, Jobs, Person,Dept,Customers,Priority,
  Categories,Asset, Users
  WHERE jobs.customer_id = person.id
  AND Person.dept_id = dept.id AND
  Dept.cust_id = customers.customer_id AND
  Jobs.priority_id = priority.id AND
  Jobs.category_id = categories.category_id AND
  Jobs.next_user_id = users.user_id AND
  Jobs.asset_id = Asset.id (+)  AND
  asset.type = ass_type.id (+)');


create sequence seq_kb INCREMENT BY 1 START WITH 1 ORDER;
grant select on seq_kb to lbe_user;

CREATE OR REPLACE TRIGGER kb_trigger BEFORE INSERT
  ON kb  FOR EACH ROW
WHEN (new.id is null)
  DECLARE
  	newid NUMBER;
  BEGIN
		select seq_kb.nextval INTO newid from dual;
 		:NEW.id := newid;
 END;
/


connect lbe_user/lbe;
create synonym seq_kb for lbe_owner.seq_kb;
create synonym kb for lbe_owner.kb;

commit;


=======================================================================================
4.0.0.165
=======================================================================================
1. Fixed "InsertEmailNotificationIntoHistory Error No 3219" error


Items affected : lbehdesk.exe


=======================================================================================
4.0.0.164
=======================================================================================
1. Added #CONTACT_TELEPHONE, #CONTACT_FAX, #CONTACT_MOBILE, #CONTACT_EMAIL to list of tags
that can be used in the email templates


Items affected : lbehdesk.exe

=======================================================================================
4.0.0.163
=======================================================================================
1. Fixed bug that "Edit" option may not work correctly if remove "Add" operator privilege
2. Added "New" button on all relevant grid windows.

Items affected :lbehdesk.exe
=======================================================================================
4.0.0.162
=======================================================================================
1. Fixed runtime error 13 if using MS Sql on non-English regional settings and choose
Priority target due date/time using "ON"

Items affected:
lbehdesk.exe

=======================================================================================
4.0.0.161
=======================================================================================
1. If use search boxes (not dropdown) for e.g. contacts, search now shows items containing
the entered text instead of items starting with that text

Items affected:
lbehdesk.exe
=======================================================================================
4.0.0.160
=======================================================================================
1. Fixed runtime error 5 if using Sql Server - again <g>

Items affected:
lbehdesk.exe
=======================================================================================
4.0.0.159
=======================================================================================
1. Fixed runtime error 5 if using Sql Server

Items affected:
lbehdesk.exe


=======================================================================================
4.0.0.158
=======================================================================================
1. Implemented help as standard .htm file in preparation for Windows Vista

Items affected:
lbehdesk.exe, desktop_help.htm,desktop_help_images folder

=======================================================================================
4.0.0.157
=======================================================================================

1. Minor changes to improve usability the first time the application is run

Items affected:
lbehdesk.exe, lbehdesk.hlp,readme.txt

=======================================================================================
4.0.0.156
=======================================================================================

1. Implemented tabbed list of windows to make navigation easier

Items affected:
lbehdesk.exe

=======================================================================================
4.0.0.155
=======================================================================================

1. Added hours:mins to dates shown on jobsheet

Items affected:
lbehdesk.exe

=======================================================================================
4.0.0.154
=======================================================================================

1. More validation on Asset and Priority windows.

Items affected:
lbehdesk.exe

=======================================================================================
4.0.0.153
=======================================================================================

1. If attempt to save a job that has already been saved by another operator, save is cancelled
but window remains open, allowing you to copy any info out, but save is disabled.

Items affected:
lbehdesk.exe
=======================================================================================
4.0.0.152
=======================================================================================

1. Fixed: Email escalation notification was specifying previous priority

Items affected:
lbehdesk.exe
=======================================================================================
4.0.0.151
=======================================================================================

1. Fixed bug if window screen positions were accidently set to off-screen.

Items affected:
lbehdesk.exe

=======================================================================================
4.0.0.150
=======================================================================================

1. MS Sql 2005 now has case-sensitive passwords. Fixed bug in that the heldpesk was converting
database username and password to uppercase.

Items affected:
lbehdesk.exe


=======================================================================================
4.0.0.149
=======================================================================================

1. Fixed: bug that #NOTES tag in email template was only being replaced with "Email sent to"
information
2. Fixed: If no custom priorities or work hours defined for a category, still prompted to
change target date/time when change category on Action job window.

Items affected:
lbehdesk.exe


=======================================================================================
4.0.0.148
=======================================================================================

1. If sending via SMTP the recipient must have an internet style email address (x@y.com)
2. Fixed resizing issues on Action Job window

Items affected:
lbehdesk.exe

=======================================================================================
4.0.0.147
=======================================================================================

1. Sending an email is recorded in the job history.
2. SMTP Emails will also record any attachment sent.
3. SMTP now remembers "from" address
4. "No preview" with SMTP now works.

Items affected:
lbehdesk.exe

=======================================================================================
4.0.0.146
=======================================================================================

1. Added #ASSET_CUSTOM1 and #ASSET_CUSTOM2 to list of allowed email template tags

Items affected:
lbehdesk.exe


=======================================================================================
4.0.0.145
=======================================================================================

1. "Actioned By" operator now defaults to whichever operator you previously selected when Actioning a job.
2. Added error message if try to use ODBC drivers to connect to database

Items affected:
lbehdesk.exe

=======================================================================================
4.0.0.144
=======================================================================================

1. Changed dll used for sending smtp messages from ossmtp to mailbee. This is to
avoid false warnings from some anti-virus software

Items affected:
lbehdesk.exe, mailbee.dll

You will need to register mailbee.dll with regsvr32:

From a command prompt, type the following:

c:\winnt\system32\regsvr32 "c:\lbe helpdesk\mailbee.dll"

Please note, you may have to change the above commands to reflect your system directory
and the location you installed the  helpdesk into.



=======================================================================================
4.0.0.143
=======================================================================================

1. Can now specify allowable Priorities for each Category. If no limits specified for a category,
all priorities are allowed
2. Can now specify different work hours for a category.
3. Operator A cannot assign a job for customer B to Operator C if Operator C is not allowed to see Customer B
4. Different email addresses may be used for auto-esalation notification based on category
5. Can now specify a default operator per category to be used when  an end-user
(using the web helpdesk) creates a new job. If no specific notification contacts
have been specified for a category, the operator named "Not Assigned" will be
notified as per current functionality.

Items affected:
lbehdesk.exe, lbehdesk.hlp, database


Database Changes
================
If you using the default Access format database these changes will be done
automatically the first time you run this new version of the helpdesk.
All you need to do is copy the lbedbconvert.sql file from the update zip
into the desktop helpdesk installation folder on one of your machines.

It will run the first time you run the helpdesk, then automatically
delete the lbedbconvert.sql file.

If you are running MS Sql or Oracle, you will need to run the appropriate
scripts below. If are not sure how to do so, please contact LBE.

ACCESS:
======

CREATE TABLE cat_pri_assoc (pri_id long  not null, cat_id long not null, CONSTRAINT pk_cat_pri PRIMARY KEY (pri_id,cat_id)) ;

ALTER TABLE workhrs add column cat_id long not null;

update workhrs set cat_id=0;

alter table workhrs drop constraint wrkhrs_idx;

alter table workhrs add CONSTRAINT pk_workhrs PRIMARY KEY (dayno,cat_id);

alter table categories add column op_id long not null;

alter table categories add column  escal_email text (255)  null;

alter table categories add column  escntfyop text (1) null;

update categories set op_id=0 where op_id is null;


INSERT INTO Workhrs ( cat_id, DayNo, DayName, StartHrs, StartMins, EndHrs, EndMins, globid ) SELECT Categories.Category_Id, Workhrs.DayNo, Workhrs.DayName, Workhrs.StartHrs, Workhrs.StartMins, Workhrs.EndHrs, Workhrs.EndMins, Workhrs.globid FROM Categories, Workhrs WHERE Workhrs.cat_id=0;

DELETE From gridexsql where type='CATEGORIES';
DELETE From opgridexview where gridexsqltype='CATEGORIES';

INSERT into gridexsql (type,sqlselect) values('CATEGORIES', 'SELECT categories.Category_Id AS Id, Categories.Category_Name AS Name, categories.Default, categories.Custom1, categories.Custom2, Users.User_Name AS Default_Operator_Web, categories.escal_email AS Escalation_email, categories.escntfyop AS Notify_Operator_Override, categories.category_id in (select cat_id from cat_pri_assoc) AS Custom_Priorities, categories.category_id in (select cat_id from workhrs) as Custom_Work_Hours FROM categories LEFT JOIN Users ON categories.op_id = Users.User_Id WHERE  categories.Deleted =0 ');


MS SQL SERVER:
==============
USE lbehelpdesk
GO
CREATE TABLE [dbo].[cat_pri_assoc] (
	[pri_id] [int] NOT NULL ,
	[cat_id] [int] NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE workhrs add  cat_id int not null default 0
GO
alter table workhrs drop constraint  PK_workhrs
GO
alter table workhrs add CONSTRAINT pk_workhrs PRIMARY KEY (dayno,cat_id);
GO
alter table categories add  op_id int not null default 0;
GO
alter table categories add  escal_email varchar (255)  null;
GO
alter table categories add   escntfyop varchar (1) null;
GO
update categories set op_id=0 where op_id is null;
GO
INSERT INTO Workhrs ( cat_id, DayNo, DayName, StartHrs, StartMins, EndHrs, EndMins, globid ) SELECT Categories.Category_Id, Workhrs.DayNo, Workhrs.DayName, Workhrs.StartHrs, Workhrs.StartMins, Workhrs.EndHrs, Workhrs.EndMins, Workhrs.globid FROM Categories, Workhrs WHERE Workhrs.cat_id=0;
GO
GRANT  SELECT ,  INSERT ,  DELETE ,  UPDATE  ON [dbo].[cat_pri_assoc]  TO [lbe_user]
GO

DELETE From gridexsql where type='CATEGORIES';
DELETE From opgridexview where gridexsqltype='CATEGORIES';

INSERT into gridexsql (type,sqlselect) values('CATEGORIES', 'SELECT categories.Category_Id AS Id, Categories.Category_Name AS Name, categories.[default], categories.Custom1, categories.Custom2, Users.User_Name AS
Default_Operator_Web, categories.escal_email AS Escalation_email, categories.escntfyop AS Notify_Operator_Override,
case when (select count(cat_id) from cat_pri_assoc where cat_pri_assoc.cat_id=categories.category_id) > 0 then 1 Else 0 END as Custom_Priorities,case when (select count(cat_id) from workhrs where workhrs.cat_id=categories.category_id) > 0 then 1 Else 0 END  as Custom_Work_Hours
FROM categories LEFT JOIN Users ON categories.op_id = Users.User_Id
WHERE categories.Deleted=0');


ORACLE:
======
CREATE TABLE cat_pri_assoc (
    pri_id number (11,0)  not null,
    cat_id number (11,0) not null,
    CONSTRAINT pk_cat_pri PRIMARY KEY (pri_id,cat_id)) ;

ALTER TABLE workhrs add  cat_id number (11,0)  default (0) not null;

alter table workhrs drop constraint  PK_workhrs;
alter table workhrs add CONSTRAINT pk_workhrs PRIMARY KEY (dayno,cat_id);
alter table categories add  op_id number (11,0) default (0) not null ;
alter table categories add  escal_email varchar2 (255)  null;
alter table categories add   escntfyop varchar2 (1) null;
update categories set op_id=0 where op_id is null;
INSERT INTO Workhrs
(cat_id, DayNo, DayName, StartHrs, StartMins, EndHrs, EndMins, globid )
SELECT Categories.Category_Id, Workhrs.DayNo, Workhrs.DayName, Workhrs.StartHrs,
Workhrs.StartMins, Workhrs.EndHrs, Workhrs.EndMins, Workhrs.globid
FROM Categories, Workhrs
WHERE Workhrs.cat_id=0;

DELETE From gridexsql where type='CATEGORIES';
DELETE From opgridexview where gridexsqltype='CATEGORIES';

INSERT into gridexsql (type,sqlselect)
values('CATEGORIES','SELECT categories.Category_Id AS Id,
categories.Category_Name AS Name, categories."DEFAULT",
categories.Custom1, categories.Custom2, Users.User_Name AS Default_Operator_Web,
categories.escal_email AS Escalation_email, categories.escntfyop
AS Notify_Operator_Override
FROM categories,users WHERE
categories.Deleted=0 AND categories.op_id = users.user_id (+)');



GRANT  SELECT ,  INSERT ,  DELETE ,  UPDATE  ON cat_pri_assoc  TO lbe_user;
connect lbe_user/lbe;
create synonym cat_pri_assoc for lbe_owner.cat_pri_assoc;

commit;



=======================================================================================
4.0.0.143
=======================================================================================

1. Added #CONTACT_CUSTOM1 and #CONTACT_CUSTOM2 to the list of tags that can be used in the email templates.

Items affected:lbehesk.exe
=======================================================================================
4.0.0.142
=======================================================================================

1. Added Check All, Uncheck All buttons  to edit Operator window.

Items affected:lbehesk.exe

=======================================================================================
4.0.0.141
=======================================================================================
1. Modify summary_rpt database table - increase username field size to 50 char. To implement this
change, you will to modify the database, if you are not sure how to do so, please contact LBE.

Items affected:database

=======================================================================================
4.0.0.140
=======================================================================================
1.  Fixed linked file error if using Oracle. Run the following query:

Delete from gridexsql where type = 'LINKEDFILES';

INSERT INTO gridexsql (type, sqlselect) values ('LINKEDFILES',
'Select linkedfile.Id, linkedfile.jobid as Job_Id, linkedfile.Description, linkedfile.Filename
FROM jobs,linkedfile,dept,person,customers
WHERE  (dept.cust_id = customers.customer_id) and (person.dept_id = dept.id)
and (jobs.customer_id = person.id) and (linkedfile.jobid = jobs.job_id)
And (customers.deleted=0) and (dept.deleted=0) and (person.deleted=0)');


Items affected:database

=======================================================================================
4.0.0.139
=======================================================================================
1.  Fixed "syntax error converting datetime" in "Removeoldlogins" when using Sql server with some language settings.

Items affected:jobsheet.txt,lbehdesk.exe

=======================================================================================
4.0.0.138
=======================================================================================
1.  Modification to jobsheet.txt to include customer name

Items affected:jobsheet.txt,lbehdesk.exe


=======================================================================================
4.0.0.137
=======================================================================================
1.  Can now select multiple jobs (20 max) and "show job history" from Jobs Detailed, Jobs Summary and Operator Activity
2.  Can now select multiple jobs (20 max) and "show job sheet" from Jobs Detailed, Jobs Summary and Operator Activity
3.  System Macros: There are four built-in macro words which are used to insert date and time information:

LDT: Long date & time
LD: Long date
SDT: Short date and time
SD: Short date

The date/time formats are derived from your Windows settings.

4. Job Status now shown on Job sheet.
5. Can now restrict most reports to jobs with specific Job Status values.

Items affected:lbehdesk.exe, jobsheet.txt

=======================================================================================
4.0.0.135
=======================================================================================
1.  When select Group By from the right-click menu on a data view, the window reflects the current dataview's grouping
2.  Fixed:If you create a new view whilst a public view exists, sometimes it is not possible to use drag-drop to group the new view.

Items affected:lbehdesk.exe
=======================================================================================
4.0.0.134
=======================================================================================
1.  Fixed error that if have ; separated list of custom field values, all are shown on the jobsheet report.

Items affected:lbehdesk.exe
=======================================================================================
4.0.0.133
=======================================================================================
1.  Fixed error if use the "Group By" menu option on custom fields.

Items affected:lbehdesk.exe

=======================================================================================
4.0.0.132
=======================================================================================
1. Added ability to edit customer contact password for use in web helpdesk
2. Auto-escalation is recorded in the job history
3. Added support for new tags in jobsheet.txt:

<!-- ##ASSETDESC -->
<!-- ##ASSET_SERIALNUM -->
<!-- ##ASSET_MANUF -->
<!-- ##ASSET_CUST1 -->
<!-- ##ASSET_CUST2 -->
<!-- ##ASSET_MODELNUM -->
<!-- ##ASSET_INVOICNUM -->
<!-- ##ASSET_PURCHPRICE -->
<!-- ##ASSET_VENDOR -->
<!-- ##ASSET_TYPE -->


Items affected:lbehdesk.exe, lbehdesk.hlp


=======================================================================================
4.0.0.131
=======================================================================================
1. Fixed error when "clear operator activity" if using MS Sql.

Items affected:lbehdesk.exe
=======================================================================================
4.0.0.130
=======================================================================================
1. Custom fields can now be displayed as drop-down selection lists.
2. Can now have multiple job history windows open.
3. History window has a "Find" button to search for text.

Items affected:lbehdesk.exe

=======================================================================================
4.0.0.129
=======================================================================================

1. When using "Search boxes", rather than "drop-down lists" (Tools, Personal Preferences,
 there is now a New button on grid which allows you to do a "Find Next" with the Quick Find

Items affected:lbehdesk.exe

=======================================================================================
4.0.0.128
=======================================================================================
1. Added new email option of SMTP on Tools menu, Personal Preferences, Email client.

OSSMTP.dll will need to be registered. Copy it to your LBE helpdesk installation folder
and from a command prompt, type the following:

c:\winnt\system32\regsvr32 "c:\lbe helpdesk\OSSMTP.dll"

Please note, you may have to change the above commands to reflect your system directory
and the location you installed the web helpdesk into.

Items affected:lbehdesk.exe, new file OSSMTP.dll

=======================================================================================
4.0.0.126
=======================================================================================
1. Fixed bug on filter where select a period with some international settings and Sql Server.

Items affected:lbehdesk.exe

=======================================================================================
4.0.0.126
=======================================================================================
1. Fixed bug in keyboard macro if keyword contains an apostrophe.

Items affected:lbehdesk.exe
=======================================================================================
4.0.0.125
=======================================================================================
1. Fixed bug in keyboard macro.

Items affected:lbehdesk.exe

=======================================================================================
4.0.0.124
=======================================================================================
1. Fixed bug on spending reports with some international settings and Sql Server.

Items affected:lbehdesk.exe
=======================================================================================
4.0.0.123
=======================================================================================
1. Warning if you action a job which is currently being actioned.

Items affected:lbehdesk.exe

=======================================================================================
4.0.0.122
=======================================================================================
1. Fixed bug on helpdesk activity report with some international settings and Sql Server.

Items affected:lbehdesk.exe
=======================================================================================
4.0.0.121
=======================================================================================
1. Removed extraneous blank rows when export selected records to html.

Items affected:lbehdesk.exe

=======================================================================================
4.0.0.120
=======================================================================================
1. Fixed bug when creating a new job with Sql Server and some language settings.

Items affected:lbehdesk.exe

=======================================================================================
4.0.0.119
=======================================================================================
1. Email notification of escalation to operator  used template email_job_escalate_manager.txt
not email_job_escalate_operator.txt
2. Email escalation notification was specifying previous priority.

Items affected:lbehdesk.exe


=======================================================================================
4.0.0.118
=======================================================================================
1. When closing a Job, can choose to include or exclude from the Web helpdesk knowledgebase

Items affected:lbehdesk.exe

=======================================================================================
4.0.0.117
=======================================================================================
1. Fixed crash if repeatedly open the Filter window from the main toolbar and then press escape to close it.

=======================================================================================
4.0.0.116
=======================================================================================

1. Fixed bug that when an operator is restricted to a single customer, may not see any
jobs at all with certain filters.

Items affected:lbehdesk.exe

=======================================================================================
4.0.0.115
=======================================================================================
1. Email templates now give you complete control over email content.
Please see "Customize e-mails sent by the helpdesk" in the help.
2. New button on grid allows you to do a "Find Next" with the Quick Find.
3. Removed dropdown on Action Job window to select Action notes or History for the email as this is
now controlled by the templates.
4. Fixed bug which would overstate numbers on the  "Number of Jobs Completed by Operator Per Month/Week" reports
5. Fixed bug if used "and" or "or" in a filter
6. Fixed error in "Helpdesk Spending per Customer/Department/Contact" report
7. Fixed error that meant "Helpdesk Spending per Customer/Department/Contact" report was not shown if using Sql Server.
8. Fixed error in Helpdesk Activity report if using Oracle.

Items affected: lbehdesk.exe, lbehdesk.hlp
New files:
email_job_closed_contact.txt
email_job_closed_operator.txt
email_job_hold_contact.txt
email_job_hold_operator.txt
email_job_open_contact.txt
email_job_open_operator.txt
email_job_escalate_manager.txt
email_job_escalate_operator.txt
email_job_overdue_manager.txt
email_job_overdue_operator.txt

=======================================================================================
4.0.0.112
=======================================================================================
1. Warning if open a job where the history is near the maximum (64k)
2. Allow save if job history has exceeded the maximum, history is not updated.


Items affected: lbehdesk.exe

=======================================================================================
4.0.0.111
=======================================================================================
1. Removed "This will also delete related records" message when "removing" a logged in operator as this does not apply
(NB. removing makes the specified operator log in again, it does not delete them).
2. When closing a job, does not disable "Email next operator"


Items affected: lbehdesk.exe

=======================================================================================
4.0.0.110
=======================================================================================
1. Fixed inconsistency betweeen web/desktop helpdesk in case-sensitivity of "AT". "WHEN" and "PLUS" settings of Priorities

2. Fixed bug that when using Org Type C and click + button to add Contact, asks you to create a Dept and switches org type to D.

Items affected: lbehdesk.exe

=======================================================================================
4.0.0.109
=======================================================================================

1. Fixed problem with newline character being replaced with || when accept spell checker correction.
2. Added support for <!-- ##ASSETDESC --> and <!-- ##ASSETNUM --> to job sheet
Items affected: lbehdesk.exe


=======================================================================================
4.0.0.103
=======================================================================================

1. Fixed error when create child job if using Czech language settings.

Items affected: lbehdesk.exe

=======================================================================================
4.0.0.102
=======================================================================================

1. Added customer signature box to jobsheet
2. Fixed bug which meant some date filters did not work correctly.

Items affected: jobsheet.txt, lbehdesk.exe



=======================================================================================
4.0.0.101
=======================================================================================

1. Fixed bug with time on report date range incorrectly assuming it is PM.

Items affected: lbehdesk.exe

=======================================================================================
4.0.0.100
=======================================================================================

1. On Hold Jobs can now be included/excluded from Helpdesk Activity reports

Items affected: lbehdesk.exe

=======================================================================================
4.0.0.99
=======================================================================================

1. Can now pass database connection string as part of the command line e.g. create a shortcut whose
target is:

"C:\Program Files\lbe\LBEHDesk.exe" PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=z:\SHARED\HELPDESK.MDB;PERSIST SECURITY INFO=FALSE

Please note, although the path to the exe should be enlosed in " marks, the database connection shouldn't.

This allows you to create multiple shortcuts which automatically connect to different databases.

2. On hold jobs are not included in the overdue jobs email notification.
3. On Hold jobs are excluded from the Helpdesk Activity report.
4. Can limit an operator to seeing data from a single customer
(N.B. This also affects those reports with "Customer" in their title, but not any others).
5. When a "Default Contact" is created, any e-mail address specified for the customer is copied to the new contact.

Items affected: lbehdesk.exe, database (see below)

ACCESS
======
Create a new text file called lbedbconvert.sql  in the same folder as
the desktop helpdesk installation, the contents of the text file should be as follows:

ALTER TABLE users add column custid long null
update users set custid = 0
Delete from opwindowsetting where winname = 'FRMOPERATORS'
delete from gridexsql where type = 'OPERATORS' or type = 'LINKEDFILES'
INSERT INTO gridexsql (type, sqlSelect) values ('OPERATORS',  'SELECT users.User_Id AS Id, users.User_Name AS Name, users.Email, users.Custom1, users.Custom2, Customers.Customer_Name as Restricted_to_Customer FROM users LEFT JOIN Customers ON users.custid = Customers.Customer_Id WHERE users.Deleted=0')
INSERT INTO gridexsql (type, sqlSelect) values ('LINKEDFILES','SELECT linkedfile.id, linkedfile.jobid AS Job_Id, linkedfile.description, linkedfile.filename FROM (((linkedfile INNER JOIN jobs ON linkedfile.jobid = jobs.Job_Id) INNER JOIN Person ON jobs.Customer_Id = Person.Id) INNER JOIN Dept ON Person.Dept_Id = Dept.Id) INNER JOIN Customers ON Dept.Cust_Id = Customers.Customer_Id where customers.deleted=0 and dept.deleted=0 and person.deleted=0')


(this file is provided for you in the zip)

Then run the desktop helpdesk.

ORACLE
======
ALTER TABLE users add  custid number (11,0) default 0 null;
update users set custid = 0;
Delete from opwindowsetting where winname = 'FRMOPERATORS';
delete from gridexsql where type = 'OPERATORS' or type = 'LINKEDFILES';
INSERT INTO gridexsql (type, sqlSelect)
values ('OPERATORS',
'SELECT users.User_Id AS Id, users.User_Name AS Name, users.Email, users.Custom1, users.Custom2, Customers.Customer_Name as Restricted_to_Customer FROM users,customers WHERE users.custid = customers.customer_id(+) and users.Deleted=0');

INSERT INTO gridexsql (type, sqlselect) values ('LINKEDFILES',
'Select linkedfile.Id, linkedfile.jobid as Job_Id, linkedfile.Description, linkedfile.Filename FROM jobs,linkedfile,dept,person,customers ' ||
'WHERE  (dept.cust_id = customers.customer_id) and (person.dept_id = dept.cust_id) ' ||
'and (jobs.customer_id = person.id) and (linkedfile.jobid = jobs.job_id) ' ||
'And (customers.deleted=0) and (dept.deleted=0) and (person.deleted=0)');
commit;


SQL Server
==========
USE lbehelpdesk
GO
ALTER TABLE users add  custid int null default 0
GO
update users set custid = 0
GO
delete from gridexsql where type = 'OPERATORS' or type = 'LINKEDFILES'
GO
INSERT INTO gridexsql (type, sqlSelect) values ('OPERATORS',  'SELECT users.User_Id AS Id, users.User_Name AS Name, users.Email, users.Custom1, users.Custom2, Customers.Customer_Name as Restricted_to_Customer FROM users LEFT JOIN Customers ON users.custid = Customers.Customer_Id WHERE users.Deleted=0')
GO
INSERT INTO gridexsql (type, sqlSelect) values ('LINKEDFILES','SELECT linkedfile.id, linkedfile.jobid AS Job_Id, linkedfile.description, linkedfile.filename FROM (((linkedfile INNER JOIN jobs ON linkedfile.jobid = jobs.Job_Id) INNER JOIN Person ON jobs.Customer_Id = Person.Id) INNER JOIN Dept ON Person.Dept_Id = Dept.Id) INNER JOIN Customers ON Dept.Cust_Id = Customers.Customer_Id where customers.deleted=0 and dept.deleted=0 and person.deleted=0')
GO

=======================================================================================
4.0.0.97
=======================================================================================

1. Fixed date error when creating child job or priority with certain Oracle language settings.
2. Customer Contact selected when create a new job against an asset
3. Customer Contact selected when create a new job against a customer which doesn't have a default
contact - chooses first contact by dept name and surname ordered alphabetically.

Items affected: lbehdesk.exe

=======================================================================================
4.0.0.96
=======================================================================================

1. Can now Expand All/Collapse All when using a public data view which is not your own.

Items affected: lbehdesk.exe

=======================================================================================
4.0.0.95
=======================================================================================

1. Fixed bugs relating to customers whose contract has expired: When creating a new job for them,
selecting "No", when asked if you wish to continue, opened a new, read-only job; When viewing a job,
were also asked if you wished to continue, despite this not being relevant.

Items affected: lbehdesk.exe


=======================================================================================
4.0.0.94
=======================================================================================

1. Fixed "FrmGrid - PopulateViewmenus()" errors which are sometimes seen when switching between open windows.

Items affected: lbehdesk.exe

=======================================================================================
4.0.0.93
=======================================================================================

1. New password encryption


Items affected: lbehdesk.exe

=======================================================================================
4.0.0.92
=======================================================================================

1. " characters were replaced with "" in the Job Notes, % character was replaced with [%]


Items affected: lbehdesk.exe

=======================================================================================
4.0.0.91
=======================================================================================

1. When you View a Job some of the fields were not properly disabled.


Items affected: lbehdesk.exe

=======================================================================================
4.0.0.90
=======================================================================================

1. When you action a Job that has previously been placed On Hold, the target completion date is updated
to reflect the time already spent On Hold.  Similarly if you close a Parent Job, any Child jobs that
were on hold will have their target completion date updated for the period spent On Hold.


Items affected: lbehdesk.exe

=======================================================================================
4.0.0.89
=======================================================================================

1. "Actioned by" defaults to the logged in operator


Items affected: lbehdesk.exe


=======================================================================================
Version 4.0.0.88
=======================================================================================

1. Can specify a default problem value for new jobs (not children). To do so, create a file newjob.txt
with the required contents in the same folder as the lbehdesk.exe

2. Fixed Error 0 when opening/minimizing/maximizing Action Job window. Side effect is that this window should open slightly faster.

Items affected: lbehdesk.exe, new file:newjob.txt.

Copy both files into the folder you installed LBE Desktop Helpdesk into.


=======================================================================================
Version 4.0.0.86
=======================================================================================

1. Can now specify multiple email address (separated by semi-colon) for operators or contacts.
E.g. this allows you to specify more than one address to be notified of auto-escalation

Items affected: lbehdesk.exe

=======================================================================================
Version 4.0.0.84
=======================================================================================

1. Solution now printed in the job sheet report.
2. Fixed bug that causes crash if have 3 or more Action Job windows open at once.

Items affected: lbehdesk.exe, jobsheet.txt

=======================================================================================
Version 4.0.0.80
=======================================================================================

1. Fixed bug that meant you could double click the group headers/footers and could edit a record

Items affected: lbehdesk.exe

=======================================================================================
Version 4.0.0.79
=======================================================================================

1. Correctly remembers state of Mail check boxes on Action Job window from one session to the next.

Items affected: lbehdesk.exe

=======================================================================================
Version 4.0.0.78
=======================================================================================

1. Job History now notes any change in the "Pass To" Operator

Items affected: lbehdesk.exe

No database changes.

=======================================================================================
Version 4.0.0.77
=======================================================================================

1. Fixed bug caused by Operators created using web helpdesk having null values in certain Operator privileges.
2. Fixed reports:
Helpdesk Spending per Customer
Helpdesk Spending per Customer/Department
Helpdesk Spending per Customer/Department/Contact


Items affected: lbehdesk.exe

No database changes.

=======================================================================================
Version 4.0.0.76
=======================================================================================

Fixed bug that # button on Action Job window was not filtering Asset list correctly.

New feature sends notification email to assigned operator and/or specified email address when a job is automatically escalated.
This change involves:

1. New lbehdesk.exe - replace your existing one with this.
2. Modifications to the database.  If your are upgrading an earlier database, you will have to run the following queries:

ACCESS
======
The update zip file  should contain a file name lbedbconvert.sql.  Copy this to the same folder as you installed Lbe Desktop Helpdesk.  The next time you run the helpdesk, it will automatically convert the database, then delete the lbedbconvert.sql.  If you have more than one database, you will need to repeat this procedure for each one.

If you can't find the lbedbconvert.sql file, you can create a new file in notepad containing the following lines and save it as lbedbconvert.sql in the same folder as your helpdesk installation:

ALTER TABLE system add column  escntfyop bit, escntfyeml text(255) null
UPDATE  SYSTEM set  escntfyop = 1
DELETE FROM opwindowsetting where winname = 'FRMODUJOBSEMAIL'


ORACLE
======

Run the following scripts:

ALTER table system add  escntfyop number (1,0) DEFAULT (1);
ALTER table system add  escntfyeml varchar2(255);
UPDATE  SYSTEM set  escntfyop = 1;
DELETE FROM opwindowsetting where winname = 'FRMODUJOBSEMAIL';
COMMIT;

SQL SERVER
==========

Run the following script:

use lbehelpdesk
GO
ALTER table system add  escntfyop bit DEFAULT (1)
GO
ALTER table system add  escntfyeml varchar(255)
GO
UPDATE  SYSTEM set  escntfyop = 1
GO
DELETE FROM opwindowsetting where winname = 'FRMODUJOBSEMAIL';
GO


Version 4.0.74 21 Aug 2001
==========================

Implemented spell checking on most text fields.  To spell check, press the F7 key.  You must have MS Word installed for the spell checker to work.

Version 4.0.73 16 Aug 2001
===========================
Removed 255 char limit on length of replacement phrase in macros.  You can now specify up to 64k of text as the replacement phrase (2000 if the database is Oracle).   This requires the following changes to the datatype of the replaceword column in the opmacro table:

Access: MEMO
Oracle: varchar(2000)
Sql Server: text


Version 4.0.72 27 July 2001
===========================

Fixed:

1.  Change of contact not recorded in Job History
2.  Can't use arrow keys or PgUp, PgDwn, Home, End keys to scroll around Job History.

Version 4.0.71 21 July 2001
===========================

Fixed error when open System Options if any of custom field names set to null.

Version 4.0.66 28 June 2001
===========================

Added "Try this if all else fails!" option for email client on Tools, Personal Preferences.
Fixed various "Invalid use of null" errors when open view if Custom1/Custom2 set to null.

Version 4.0.0.57 June 2001
============================

1. Fixed jobsheet report so doesn't print blank page at beginning/end

Version 4.0.0.52 June 4 2001
============================
1. Fixed problems when running against Oracle database with different regional settings to local machine.
2. New gridex20.ocx (used by data views) which fixes number of minor bugs, in particular layout problems with certain regional settings.
3. Fixed errors which may occur when opening linked files from Action Job window.

Version 4.0.0.50 May 24 2001
============================

1. Fixed bug that meant date filters on views were not working.

Version 4.0.0.49 May 21 2001
============================

1. Fixed various bugs caused by corruption of the grid layout information in the datatabase.  Often these occurred when using dropdown lists as the select method, but also on the list of Linked Files when Actioning a Job.


Version 4.0.0.46 May 2001
==========================

1. Fixed bug with Custom Filters on Oracle.
2. Fixed bug when adding Contact to a database from early versions.

Version 4.0.0.37
================
Minor fixes:

1. Error on Job window for an existing job which meant you couldn't click on the dropdowns for contact or asset
2. Report: Number of Jobs completed by operator was incorrectly formatted.
3. Error when running some of the spending reports against a Sql Server database