What are the oldest remains of ServiceNow still lurking within?
Last week I was spelunking in the sys_glide_object table (Field classes) with a fellow adventurer. There was a record created on March 14, 2004 by "pat".
Pat Casey was one of the earliest ServiceNow developers I believe, and he still has an stamp on a lot of the old records. However is that the oldest ServiceNow record? Does that even matter as ServiceNow has gone through many technological advancements over the years? Well, it is truly amazing that something started in 2004 turned into the massive platform it is today.
I had to know...what is the oldest record out there? So I went on a excavation of the table structure.
Data
Here are my findings on oldest 50 records in ServiceNow. These were scanned on a Kingston Patch 1 release.
Rank | Table name | Sys Id | Created | Created By
- sys_number | f95fc1b3c31231003d2ae219cdba8f4c | 2004-02-24 15:00:00 | admin
- sys_ui_list | 9c276077c0a8016600b2035205b0e72f | 2004-03-11 00:00:00 | GUEST
- sys_script | 30000000000000000000000000000000 | 2004-03-16 00:00:00 | GUEST
- sys_ui_element | c22a276dc61122860088b8584e4e890f | 2004-04-04 00:00:00 | GUEST
- sys_ui_section | c21e426cc611228600cb1edcea93989d | 2004-04-04 00:00:00 | GUEST
- sys_app_application | c63ddb08c61122860198dc1999e3ff39 | 2004-04-05 00:00:00 | GUEST
- sys_app_module | c63ea301c61122860096e59959c682fb | 2004-04-05 00:00:00 | GUEST
- sys_ui_related_list | e4b4dbccc611228600eb213368193176 | 2004-04-11 00:00:00 | GUEST
- sys_user | 5136503cc611227c0183e96598c4f706 | 2004-05-02 00:00:00 | GUEST
- sys_glide_object | 9f7cc345c6112278008bfdea20d5758f | 2004-05-17 00:00:00 | pat
- sys_choice | a4938177c6112278001de498db9d9ea0 | 2004-05-18 00:00:00 | guest
- sys_calendar | bea4c03cc611227801d411166792a145 | 2004-05-26 00:10:26 | pat
- sys_cal_day | bea53913c611227801ae2c6fdbdef342 | 2004-05-26 00:10:57 | pat
- sys_job | 053a1b26c6112276008985875803029e | 2004-06-08 10:06:59 | pat
- sys_perspective | c4061c10c611228701127c4d6fd07dcb | 2004-07-15 18:17:40 | pat
- sys_ui_form | ee936660c0a8016400fd981a628f2c73 | 2004-07-24 00:36:03 | fred.luddy
- sys_ui_form_section | ee94c4b9c0a801640039316767f8a31f | 2004-07-24 00:37:32 | fred.luddy
- sys_ui_list_element | a1c487c00a000641317b6c2e02388729 | 2004-08-02 17:43:06 | pat
- sys_dashboard_detail | 20a36e78c0a8000901a8ecf45dfdbf6b | 2004-08-02 17:54:34 | pat
- sys_dashboard | 20982907c0a8000901652e61b003134a | 2004-08-03 00:42:16 | pat
- sys_gauge | 259affe7c0a8000901420fea550aff0a | 2004-08-03 17:03:28 | pat
- cmdb_ci_hardware | b0c25d1bc0a800090168be1bfcdcd759 | 2004-08-30 17:33:41 | pat
- cmdb_ci | b0c25d1bc0a800090168be1bfcdcd759 | 2004-08-30 17:33:41 | pat
- cmdb$par1 | b0c25d1bc0a800090168be1bfcdcd759 | 2004-08-30 17:33:41 | pat
- cmdb_ci_computer | b0c25d1bc0a800090168be1bfcdcd759 | 2004-08-30 17:33:41 | pat
- cmdb_ci_server | b0c25d1bc0a800090168be1bfcdcd759 | 2004-08-30 17:33:41 | pat
- cmdb | b0c25d1bc0a800090168be1bfcdcd759 | 2004-08-30 17:33:41 | pat
- sys_ui_message | cae2a472c0a80164019db21fe68975e7 | 2004-09-04 19:19:04 | admin
- question_choice | d1e1f476c0a8000900412f4bee45e5c7 | 2004-09-06 03:55:39 | pat
- sysrule_assignment | 4e44245c7f0000010031f73734d19e40 | 2004-11-19 00:38:36 | fred.luddy
- sysrule | 4e44245c7f0000010031f73734d19e40 | 2004-11-19 00:38:36 | fred.luddy
- sys_properties | 4fad0bf4c611228e01d9e895a86316c3 | 2005-01-08 00:15:35 | fred.luddy
- sys_trigger | 91616b03c611227b014e3d95b7f9d1dd | 2005-01-20 18:27:56 | admin
- sys_ui_style | a660ca267f00000101a21389acc8474a | 2005-01-24 20:19:16 | system_bootstrap
- sys_user_preference | f37064797f00000101d4cb4bb69a4e4e | 2005-02-08 19:27:04 | fred.luddy
- sys_dictionary | 0823ea33b8130300651775b34d8f51c4 | 2005-02-17 01:33:59 | system_bootstrap
- sys_user_role | 282bf1fac6112285017366cb5f867469 | 2005-02-19 01:12:11 | fred.luddy
- sysrule_escalate | 43ee9f34c0a8016501cb4caeba544bf8 | 2005-04-15 03:37:21 | admin
- sysrule_escalate_interval | 43efa45cc0a80165017dff153e62a011 | 2005-04-15 03:38:28 | admin
- sc_cat_item | e212a942c0a80165008313c59764eea1 | 2005-05-15 20:36:43 | admin
- core_company | 0c43af40c6112275011a4bd4c0143fbf | 2005-05-24 01:14:19 | guest
- cmdb_ci_spkg | 0c43baaac61122750182c132ee74bcf0 | 2005-05-24 01:14:22 | guest
- cmdb_software_instance | 0c452c79c611227500bfed5a8817f5dd | 2005-05-24 01:15:56 | guest
- cmn_location | 1059cb53c6112275003052ce61c907e8 | 2005-05-24 20:16:57 | glide.maint
- cmdb_related | 107bd3abc6112275009b3e5e148f28eb | 2005-05-24 20:54:07 | glide.maint
- cmdb_ci_netgear | 10884798c61122750108b095e21e4080 | 2005-05-24 21:07:43 | glide.maint
- cmdb_ci_msd | 109562a3c611227500a7b7ff98cc0dc7 | 2005-05-24 21:22:02 | glide.maint
- sys_report | 11e2935bc0a8016501aba72e1525e6f7 | 2005-05-25 03:25:58 | glide.maint
- cmdb_ci_database | 14ab928dc6112275008c6e047597484d | 2005-05-25 16:24:45 | glide.maint
- ast_contract_instance | 15c132c1c611227501829c6b8f97cabe | 2005-05-25 21:27:59 | glide.maint
Data Analysis
The oldest record remaining in ServiceNow is a Number Maintenance record for the "SLA Repair Log" written on February 24, 2004. There has to be older records of course, this is just the oldest timestamp.
Oldest Business Rule is "Get Number", wrtten on March 11, 2004. Makes sense as that was frequently used back in the day.
Oldest application is Workflow. I don't think that is true however, as I don't believe Workflow was around when I started using ServiceNow pre-Aspen.
Pat Casey does hold the title of oldest record with an actual user attached to it. It is the Phone Number field, which is depreciated, but written on May 17, 2004.
Fred Luddy created the change_request form on July 23, 2004. Task table was created on May 24, 2005 by glide.maint, which is less interesting.
Fun to check this out!
Code
Here is the Background Script I used to gather this information:
(function() { var titleMessage = "Table name | Sys Id | Created | Created By"; gs.log(titleMessage); //Create DB Object Array var dbObjectArray = []; var grDBObj = new GlideRecord('sys_db_object'); grDBObj.addEncodedQuery('nameNOT LIKEitem_option_new_backup'); grDBObj.addEncodedQuery('nameNOT LIKEts_c_'); grDBObj.addEncodedQuery('nameNOT LIKEv_'); grDBObj.addEncodedQuery('nameNOT LIKEsh$'); grDBObj.addEncodedQuery('nameNOT LIKEnp$'); grDBObj.addEncodedQuery('nameNOT LIKEsys_template'); grDBObj.addEncodedQuery('nameNOT LIKEsyslog'); grDBObj.addEncodedQuery('nameNOT LIKEsys_email'); grDBObj.addEncodedQuery('nameNOT LIKEindex'); grDBObj.addEncodedQuery('nameNOT LIKEsys_history'); grDBObj.addEncodedQuery('nameNOT LIKEsys_translated'); grDBObj.addEncodedQuery('nameNOT LIKEsysevent'); grDBObj.addEncodedQuery('nameNOT LIKEsys_metadata'); grDBObj.addEncodedQuery('nameNOT LIKEsys_schema'); grDBObj.addEncodedQuery('nameNOT LIKEsys_attachment'); grDBObj.addEncodedQuery('nameNOT LIKEsys_amb_message'); grDBObj.addEncodedQuery('nameNOT LIKEts_word'); grDBObj.addEncodedQuery('nameNOT LIKEts_phrase'); grDBObj.addEncodedQuery('nameNOT LIKEts_document'); grDBObj.addEncodedQuery('nameNOT LIKEecc_queue'); grDBObj.addEncodedQuery('nameNOT LIKEwf_log'); grDBObj.query(); while (grDBObj.next()) { dbObjectArray.push(grDBObj.name.toString()); } //gs.log(dbObjectArray); //Gather Table Information for (var i = 0; i < dbObjectArray.length; i++) { var grTable = new GlideRecord(dbObjectArray[i]); grTable.addQuery('sys_created_on','!=',''); grTable.orderBy('sys_created_on'); grTable.setLimit(1); grTable.query(); if (grTable.next()){ var message = dbObjectArray[i] + " | "; message += grTable.sys_id + " | "; message += grTable.sys_created_on + " | "; message += grTable.sys_created_by; gs.log(message); } } })();