Cost of Delay 1.122
This commit is contained in:
parent
906868540b
commit
3e8f5931e2
12
Adaptation/.vscode/download-work-items.http
vendored
12
Adaptation/.vscode/download-work-items.http
vendored
@ -7,3 +7,15 @@ Accept: application/json
|
|||||||
Authorization: Basic {{pat}}
|
Authorization: Basic {{pat}}
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|
||||||
|
GET {{host}}/tfs/FactoryIntegration/_apis/wit/workitems/{{ids}}/updates
|
||||||
|
Accept: application/json
|
||||||
|
Authorization: Basic {{pat}}
|
||||||
|
|
||||||
|
### Iterations
|
||||||
|
|
||||||
|
GET {{host}}/tfs/FactoryIntegration/ART%20SPS/cea9f426-6fb1-4d65-93d5-dbf471056212/_apis/work/teamsettings/iterations?
|
||||||
|
Accept: application/json
|
||||||
|
Authorization: Basic {{pat}}
|
||||||
|
|
||||||
|
###
|
2
Adaptation/.vscode/launch.json
vendored
2
Adaptation/.vscode/launch.json
vendored
@ -4,7 +4,7 @@
|
|||||||
"name": ".NET Core Attach",
|
"name": ".NET Core Attach",
|
||||||
"type": "coreclr",
|
"type": "coreclr",
|
||||||
"request": "attach",
|
"request": "attach",
|
||||||
"processId": 23840
|
"processId": 22868
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
2
Adaptation/.vscode/localhost.http
vendored
2
Adaptation/.vscode/localhost.http
vendored
@ -1,4 +1,4 @@
|
|||||||
@host = http://localhost:8071/
|
@host = http://localhost:8071
|
||||||
|
|
||||||
GET {{host}}/api/v1/ado
|
GET {{host}}/api/v1/ado
|
||||||
Accept: application/json
|
Accept: application/json
|
||||||
|
28
Adaptation/.vscode/priority.http
vendored
28
Adaptation/.vscode/priority.http
vendored
@ -1,6 +1,20 @@
|
|||||||
@host = https://eaf-dev.mes.infineon.com
|
@host = https://eaf-dev.mes.infineon.com
|
||||||
@page = api/v1/ado/
|
@page = api/v1/ado/
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
GET {{host}}/api/v1/ado?id=null&machineId=na&page=business&sessionId=035f3090-2e4d-4b2e-a254-081561c0d438&site=MES&time=1744652058982&username=anonymous&value=null
|
||||||
|
# https://eaf-dev.mes.infineon.com/api/v1/ado/?id=null&
|
||||||
|
# machineId=na&
|
||||||
|
# page=business&
|
||||||
|
# sessionId=035f3090-2e4d-4b2e-a254-081561c0d438&
|
||||||
|
# site=MES&
|
||||||
|
# time=1744652058982&
|
||||||
|
# username=anonymous&
|
||||||
|
# value=null
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
POST {{host}}/{{page}}/
|
POST {{host}}/{{page}}/
|
||||||
Accept: application/json
|
Accept: application/json
|
||||||
|
|
||||||
@ -13,19 +27,5 @@ Accept: application/json
|
|||||||
"username": "phares",
|
"username": "phares",
|
||||||
"value": "3"
|
"value": "3"
|
||||||
}
|
}
|
||||||
###
|
|
||||||
|
|
||||||
GET {{host}}/{{page}}/
|
|
||||||
Accept: application/json
|
|
||||||
|
|
||||||
{
|
|
||||||
"id": 109736,
|
|
||||||
"machineId": "",
|
|
||||||
"page": "risk",
|
|
||||||
"site": "MES",
|
|
||||||
"time": 1744335005066,
|
|
||||||
"username": "phares",
|
|
||||||
"value": "2"
|
|
||||||
}
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
@ -32,12 +32,9 @@ public class ProcessData : IProcessData
|
|||||||
|
|
||||||
public ProcessData(IFileRead fileRead, Logistics logistics, string targetFileLocation, string url, ReadOnlyCollection<string> workItemTypes, List<FileInfo> fileInfoCollection)
|
public ProcessData(IFileRead fileRead, Logistics logistics, string targetFileLocation, string url, ReadOnlyCollection<string> workItemTypes, List<FileInfo> fileInfoCollection)
|
||||||
{
|
{
|
||||||
if (fileRead.IsEAFHosted)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
_Details = new List<object>();
|
_Details = new List<object>();
|
||||||
_Log = LogManager.GetLogger(typeof(ProcessData));
|
_Log = LogManager.GetLogger(typeof(ProcessData));
|
||||||
|
if (fileRead.IsEAFHosted)
|
||||||
WriteFiles(fileRead, logistics, url, workItemTypes, targetFileLocation, fileInfoCollection);
|
WriteFiles(fileRead, logistics, url, workItemTypes, targetFileLocation, fileInfoCollection);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -191,8 +191,13 @@ public class Aggregation
|
|||||||
internal static ReadOnlyDictionary<int, Aggregation> GetKeyValuePairs(Settings settings, Notification notification)
|
internal static ReadOnlyDictionary<int, Aggregation> GetKeyValuePairs(Settings settings, Notification notification)
|
||||||
{
|
{
|
||||||
ReadOnlyDictionary<int, Aggregation> results;
|
ReadOnlyDictionary<int, Aggregation> results;
|
||||||
Dictionary<int, List<Notification>> keyValuePairs = new() { { int.Parse(notification.Id), new Notification[] { notification }.ToList() } };
|
if (string.IsNullOrEmpty(notification.Id) || !int.TryParse(notification.Id, out int id))
|
||||||
|
results = new(new Dictionary<int, Aggregation>());
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Dictionary<int, List<Notification>> keyValuePairs = new() { { id, new Notification[] { notification }.ToList() } };
|
||||||
results = GetKeyValuePairs(settings, keyValuePairs);
|
results = GetKeyValuePairs(settings, keyValuePairs);
|
||||||
|
}
|
||||||
return results;
|
return results;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,23 +19,20 @@ public class FileRead : Shared.FileRead, IFileRead
|
|||||||
{
|
{
|
||||||
|
|
||||||
private readonly Timer _Timer;
|
private readonly Timer _Timer;
|
||||||
internal static ILog Log => _Log;
|
internal static ILog? Log { get; private set; }
|
||||||
internal static Settings Settings => _Settings;
|
internal static Settings? Settings { get; private set; }
|
||||||
internal static Dictionary<int, WorkItem> WorkItems => _WorkItems;
|
internal static Dictionary<int, WorkItem>? WorkItems { get; private set; }
|
||||||
#pragma warning disable IDE0032, CS8618
|
internal static Dictionary<string, Queue<KeyValuePair<string, WorkItem>>>? Queue { get; private set; }
|
||||||
private static new ILog _Log;
|
|
||||||
private static Settings _Settings;
|
|
||||||
private static Dictionary<int, WorkItem> _WorkItems;
|
|
||||||
#pragma warning restore IDE0032, CS8618
|
|
||||||
|
|
||||||
public FileRead(ISMTP smtp, Dictionary<string, string> fileParameter, string cellInstanceName, int? connectionCount, string cellInstanceConnectionName, FileConnectorConfiguration fileConnectorConfiguration, string equipmentTypeName, string parameterizedModelObjectDefinitionType, IList<ModelObjectParameterDefinition> modelObjectParameters, string equipmentDictionaryName, Dictionary<string, List<long>> dummyRuns, Dictionary<long, List<string>> staticRuns, bool useCyclicalForDescription, bool isEAFHosted) :
|
public FileRead(ISMTP smtp, Dictionary<string, string> fileParameter, string cellInstanceName, int? connectionCount, string cellInstanceConnectionName, FileConnectorConfiguration fileConnectorConfiguration, string equipmentTypeName, string parameterizedModelObjectDefinitionType, IList<ModelObjectParameterDefinition> modelObjectParameters, string equipmentDictionaryName, Dictionary<string, List<long>> dummyRuns, Dictionary<long, List<string>> staticRuns, bool useCyclicalForDescription, bool isEAFHosted) :
|
||||||
base(new Description(), false, smtp, fileParameter, cellInstanceName, connectionCount, cellInstanceConnectionName, fileConnectorConfiguration, equipmentTypeName, parameterizedModelObjectDefinitionType, modelObjectParameters, equipmentDictionaryName, dummyRuns, staticRuns, useCyclicalForDescription, isEAFHosted: connectionCount is null)
|
base(new Description(), false, smtp, fileParameter, cellInstanceName, connectionCount, cellInstanceConnectionName, fileConnectorConfiguration, equipmentTypeName, parameterizedModelObjectDefinitionType, modelObjectParameters, equipmentDictionaryName, dummyRuns, staticRuns, useCyclicalForDescription, isEAFHosted: connectionCount is null)
|
||||||
{
|
{
|
||||||
_WorkItems = new();
|
Queue = new();
|
||||||
|
WorkItems = new();
|
||||||
_MinFileLength = 10;
|
_MinFileLength = 10;
|
||||||
_Logistics = new(this);
|
_Logistics = new(this);
|
||||||
_NullData = string.Empty;
|
_NullData = string.Empty;
|
||||||
_Log = LogManager.GetLogger(typeof(FileRead));
|
Log = LogManager.GetLogger(typeof(FileRead));
|
||||||
if (_FileParameter is null)
|
if (_FileParameter is null)
|
||||||
throw new Exception(cellInstanceConnectionName);
|
throw new Exception(cellInstanceConnectionName);
|
||||||
if (_ModelObjectParameterDefinitions is null)
|
if (_ModelObjectParameterDefinitions is null)
|
||||||
@ -45,7 +42,7 @@ public class FileRead : Shared.FileRead, IFileRead
|
|||||||
if (_IsEAFHosted)
|
if (_IsEAFHosted)
|
||||||
NestExistingFiles(_FileConnectorConfiguration);
|
NestExistingFiles(_FileConnectorConfiguration);
|
||||||
string parentDirectory = Path.GetDirectoryName(_FileConnectorConfiguration.TargetFileLocation) ?? throw new Exception();
|
string parentDirectory = Path.GetDirectoryName(_FileConnectorConfiguration.TargetFileLocation) ?? throw new Exception();
|
||||||
_Settings = new(digits: 5,
|
Settings = new(digits: 5,
|
||||||
parentDirectory: parentDirectory,
|
parentDirectory: parentDirectory,
|
||||||
priorities: 3,
|
priorities: 3,
|
||||||
priorityGroups: 9,
|
priorityGroups: 9,
|
||||||
@ -151,10 +148,14 @@ public class FileRead : Shared.FileRead, IFileRead
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
if (Settings is null)
|
||||||
|
throw new NullReferenceException(nameof(Settings));
|
||||||
|
if (WorkItems is null)
|
||||||
|
throw new NullReferenceException(nameof(WorkItems));
|
||||||
_Log.Info($"Enter-{nameof(WeightedShortestJobFirstModule.PopulatedWorkItemsAndGetJson)}");
|
_Log.Info($"Enter-{nameof(WeightedShortestJobFirstModule.PopulatedWorkItemsAndGetJson)}");
|
||||||
string? json = WeightedShortestJobFirstModule.PopulatedWorkItemsAndGetJson(_Settings);
|
string? json = WeightedShortestJobFirstModule.PopulatedWorkItemsAndGetJson(Settings, WorkItems);
|
||||||
if (!string.IsNullOrEmpty(json))
|
if (!string.IsNullOrEmpty(json))
|
||||||
WeightedShortestJobFirstModule.WriteJson(json);
|
WeightedShortestJobFirstModule.WriteJson(Settings, json);
|
||||||
_Log.Info($"End-{nameof(WeightedShortestJobFirstModule.PopulatedWorkItemsAndGetJson)}");
|
_Log.Info($"End-{nameof(WeightedShortestJobFirstModule.PopulatedWorkItemsAndGetJson)}");
|
||||||
}
|
}
|
||||||
catch (Exception exception)
|
catch (Exception exception)
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Text.Json.Serialization;
|
using System.Text.Json.Serialization;
|
||||||
|
|
||||||
namespace Adaptation.FileHandlers.Priority;
|
namespace Adaptation.FileHandlers.Priority;
|
||||||
@ -9,11 +11,12 @@ public class Notification
|
|||||||
|
|
||||||
[JsonConstructor]
|
[JsonConstructor]
|
||||||
public Notification(int? fibonacci,
|
public Notification(int? fibonacci,
|
||||||
string id,
|
string? id,
|
||||||
int? inverse,
|
int? inverse,
|
||||||
string? machineId,
|
string? machineId,
|
||||||
string page,
|
string page,
|
||||||
string? site,
|
string? site,
|
||||||
|
string? sessionId,
|
||||||
string time,
|
string time,
|
||||||
string? username,
|
string? username,
|
||||||
string? value)
|
string? value)
|
||||||
@ -25,21 +28,69 @@ public class Notification
|
|||||||
MachineId = machineId;
|
MachineId = machineId;
|
||||||
Page = page;
|
Page = page;
|
||||||
Site = site is not null ? site : "MES";
|
Site = site is not null ? site : "MES";
|
||||||
|
SessionId = sessionId;
|
||||||
Time = time;
|
Time = time;
|
||||||
Username = username;
|
Username = username;
|
||||||
Value = value;
|
Value = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
[JsonPropertyName("id")] public string Id { get; }
|
[JsonPropertyName("id")] public string? Id { get; }
|
||||||
[JsonPropertyName("fibonacci")] public int? Fibonacci { get; }
|
[JsonPropertyName("fibonacci")] public int? Fibonacci { get; }
|
||||||
[JsonPropertyName("inverse")] public int? Inverse { get; }
|
[JsonPropertyName("inverse")] public int? Inverse { get; }
|
||||||
[JsonPropertyName("machineId")] public string? MachineId { get; }
|
[JsonPropertyName("machineId")] public string? MachineId { get; }
|
||||||
[JsonPropertyName("page")] public string Page { get; }
|
[JsonPropertyName("page")] public string Page { get; }
|
||||||
[JsonPropertyName("site")] public string? Site { get; }
|
[JsonPropertyName("site")] public string? Site { get; }
|
||||||
|
[JsonPropertyName("sessionId")] public string? SessionId { get; }
|
||||||
[JsonPropertyName("time")] public string Time { get; }
|
[JsonPropertyName("time")] public string Time { get; }
|
||||||
[JsonPropertyName("username")] public string? Username { get; }
|
[JsonPropertyName("username")] public string? Username { get; }
|
||||||
[JsonPropertyName("value")] public string? Value { get; }
|
[JsonPropertyName("value")] public string? Value { get; }
|
||||||
|
|
||||||
|
internal static Notification Get(Dictionary<string, string?> keyValuePairs)
|
||||||
|
{
|
||||||
|
Notification results;
|
||||||
|
string? id;
|
||||||
|
string? fibonacci;
|
||||||
|
string? inverse;
|
||||||
|
string? machineId;
|
||||||
|
string? page;
|
||||||
|
string? site;
|
||||||
|
string? sessionId;
|
||||||
|
string? username;
|
||||||
|
string? time;
|
||||||
|
string? value;
|
||||||
|
if (!keyValuePairs.TryGetValue(nameof(id), out id))
|
||||||
|
id = null;
|
||||||
|
if (!keyValuePairs.TryGetValue(nameof(fibonacci), out fibonacci))
|
||||||
|
fibonacci = null;
|
||||||
|
if (!keyValuePairs.TryGetValue(nameof(inverse), out inverse))
|
||||||
|
inverse = null;
|
||||||
|
if (!keyValuePairs.TryGetValue(nameof(machineId), out machineId))
|
||||||
|
machineId = null;
|
||||||
|
if (!keyValuePairs.TryGetValue(nameof(page), out page))
|
||||||
|
throw new Exception();
|
||||||
|
if (!keyValuePairs.TryGetValue(nameof(site), out site))
|
||||||
|
site = null;
|
||||||
|
if (!keyValuePairs.TryGetValue(nameof(sessionId), out sessionId))
|
||||||
|
sessionId = null;
|
||||||
|
if (!keyValuePairs.TryGetValue(nameof(username), out username))
|
||||||
|
username = null;
|
||||||
|
if (!keyValuePairs.TryGetValue(nameof(time), out time))
|
||||||
|
throw new Exception();
|
||||||
|
if (!keyValuePairs.TryGetValue(nameof(value), out value))
|
||||||
|
value = null;
|
||||||
|
results = new(fibonacci: fibonacci is null ? null : int.Parse(fibonacci),
|
||||||
|
id: id,
|
||||||
|
inverse: inverse is null ? null : int.Parse(inverse),
|
||||||
|
machineId: machineId,
|
||||||
|
page: page ?? throw new Exception(),
|
||||||
|
site: site,
|
||||||
|
sessionId: sessionId,
|
||||||
|
time: time ?? throw new Exception(),
|
||||||
|
username: username,
|
||||||
|
value: value);
|
||||||
|
return results;
|
||||||
|
}
|
||||||
|
|
||||||
internal static int? GetInverse(string? value) =>
|
internal static int? GetInverse(string? value) =>
|
||||||
value switch
|
value switch
|
||||||
{
|
{
|
||||||
|
@ -21,9 +21,23 @@ public class WeightedShortestJobFirstModule : NancyModule
|
|||||||
{
|
{
|
||||||
Get("/api/v1/ado/", _ =>
|
Get("/api/v1/ado/", _ =>
|
||||||
{
|
{
|
||||||
|
string json;
|
||||||
ILog log = LogManager.GetLogger(typeof(WeightedShortestJobFirstModule));
|
ILog log = LogManager.GetLogger(typeof(WeightedShortestJobFirstModule));
|
||||||
log.Info($"{nameof(Get)}");
|
log.Info($"Enter-{nameof(GetKeyValuePairs)}");
|
||||||
return "Hello";
|
try
|
||||||
|
{
|
||||||
|
string query = Request.Url.Query;
|
||||||
|
IDictionary<string, IEnumerable<string>> collection = Nancy.Helpers.HttpUtility.ParseQueryString(query).ToDictionary();
|
||||||
|
KeyValuePair<string, WorkItem>? workItem = GetWorkItem(collection);
|
||||||
|
json = workItem is null ? string.Empty : JsonSerializer.Serialize(workItem, KeyValuePairStringWorkItemSourceGenerationContext.Default.KeyValuePairStringWorkItem);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
log.Fatal($"Exception-{nameof(GetKeyValuePairs)}{Environment.NewLine}{ex.Message}{Environment.NewLine}{Environment.NewLine}{ex.StackTrace}");
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
log.Info($"Return-{nameof(GetKeyValuePairs)}");
|
||||||
|
return json;
|
||||||
});
|
});
|
||||||
base.Post("/api/v1/ado/", _ =>
|
base.Post("/api/v1/ado/", _ =>
|
||||||
{
|
{
|
||||||
@ -47,30 +61,107 @@ public class WeightedShortestJobFirstModule : NancyModule
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static Dictionary<string, string?> GetKeyValuePairs(IDictionary<string, IEnumerable<string>> collection)
|
||||||
|
{
|
||||||
|
Dictionary<string, string?> results = new();
|
||||||
|
string[] array;
|
||||||
|
foreach (KeyValuePair<string, IEnumerable<string>> keyValuePair in collection)
|
||||||
|
{
|
||||||
|
array = keyValuePair.Value.ToArray();
|
||||||
|
if (array.Length != 1)
|
||||||
|
continue;
|
||||||
|
if (array.Length == 1 && array[0] == "null")
|
||||||
|
results.Add(keyValuePair.Key, null);
|
||||||
|
else
|
||||||
|
results.Add(keyValuePair.Key, array[0]);
|
||||||
|
}
|
||||||
|
return results;
|
||||||
|
}
|
||||||
|
|
||||||
internal static Notification GetNotification(string body, Dictionary<string, object> keyValuePairs)
|
internal static Notification GetNotification(string body, Dictionary<string, object> keyValuePairs)
|
||||||
{
|
{
|
||||||
|
Notification result;
|
||||||
|
if (FileRead.Queue is null)
|
||||||
|
throw new NullReferenceException(nameof(FileRead.Queue));
|
||||||
|
if (FileRead.Settings is null)
|
||||||
|
throw new NullReferenceException(nameof(FileRead.Settings));
|
||||||
|
if (FileRead.WorkItems is null)
|
||||||
|
throw new NullReferenceException(nameof(FileRead.WorkItems));
|
||||||
string? json;
|
string? json;
|
||||||
Notification notification;
|
|
||||||
if (!string.IsNullOrEmpty(body) && body[0] == '{')
|
if (!string.IsNullOrEmpty(body) && body[0] == '{')
|
||||||
{
|
{
|
||||||
File.WriteAllText(".json", body);
|
File.WriteAllText(".json", body);
|
||||||
notification = JsonSerializer.Deserialize(body, NotificationSourceGenerationContext.Default.Notification) ?? throw new NullReferenceException();
|
result = JsonSerializer.Deserialize(body, NotificationSourceGenerationContext.Default.Notification) ?? throw new NullReferenceException();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
json = JsonSerializer.Serialize(keyValuePairs);
|
json = JsonSerializer.Serialize(keyValuePairs);
|
||||||
File.WriteAllText(".json", json);
|
File.WriteAllText(".json", json);
|
||||||
notification = JsonSerializer.Deserialize(json, NotificationSourceGenerationContext.Default.Notification) ?? throw new NullReferenceException();
|
result = JsonSerializer.Deserialize(json, NotificationSourceGenerationContext.Default.Notification) ?? throw new NullReferenceException();
|
||||||
}
|
}
|
||||||
FileWriteAllText(FileRead.Settings, notification);
|
if (!string.IsNullOrEmpty(result.Id))
|
||||||
json = PopulatedWorkItemsAndGetJson(FileRead.Settings);
|
FileWriteAllText(FileRead.Settings, result);
|
||||||
|
json = PopulatedWorkItemsAndGetJson(FileRead.Settings, FileRead.WorkItems);
|
||||||
if (!string.IsNullOrEmpty(json))
|
if (!string.IsNullOrEmpty(json))
|
||||||
WriteJson(json);
|
WriteJson(FileRead.Settings, json);
|
||||||
return notification;
|
if (!string.IsNullOrEmpty(result.SessionId))
|
||||||
|
{
|
||||||
|
string key = GetKey(result);
|
||||||
|
Queue<KeyValuePair<string, WorkItem>>? queue;
|
||||||
|
lock (FileRead.Queue)
|
||||||
|
{
|
||||||
|
if (!FileRead.Queue.TryGetValue(key, out queue))
|
||||||
|
{
|
||||||
|
FileRead.Queue.Add(key, new());
|
||||||
|
if (!FileRead.Queue.TryGetValue(key, out queue))
|
||||||
|
throw new Exception();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
WorkItem? workItem = GetWorkItem(FileRead.WorkItems, result);
|
||||||
|
if (workItem is not null)
|
||||||
|
{
|
||||||
|
lock (FileRead.Queue)
|
||||||
|
{
|
||||||
|
foreach (KeyValuePair<string, Queue<KeyValuePair<string, WorkItem>>> keyValuePair in FileRead.Queue)
|
||||||
|
keyValuePair.Value.Enqueue(new(result.Page, workItem));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
internal static KeyValuePair<string, WorkItem>? GetWorkItem(IDictionary<string, IEnumerable<string>> collection)
|
||||||
|
{
|
||||||
|
KeyValuePair<string, WorkItem>? result;
|
||||||
|
Dictionary<string, string?> keyValuePairs = GetKeyValuePairs(collection);
|
||||||
|
Notification notification = Notification.Get(keyValuePairs);
|
||||||
|
if (FileRead.Queue is null)
|
||||||
|
result = null;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Queue<KeyValuePair<string, WorkItem>>? queue;
|
||||||
|
string key = GetKey(notification);
|
||||||
|
lock (FileRead.Queue)
|
||||||
|
{
|
||||||
|
if (!FileRead.Queue.TryGetValue(key, out queue))
|
||||||
|
{
|
||||||
|
FileRead.Queue.Add(key, new());
|
||||||
|
if (!FileRead.Queue.TryGetValue(key, out queue))
|
||||||
|
throw new Exception();
|
||||||
|
}
|
||||||
|
result = queue.Count == 0 ? null : queue.Dequeue();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static string GetKey(Notification notification) =>
|
||||||
|
$"{notification.SessionId}-{notification.MachineId}-{notification.Username}";
|
||||||
|
|
||||||
private static void FileWriteAllText(Settings settings, Notification notification)
|
private static void FileWriteAllText(Settings settings, Notification notification)
|
||||||
{
|
{
|
||||||
|
if (string.IsNullOrEmpty(notification.Id))
|
||||||
|
throw new NullReferenceException(nameof(notification.Id));
|
||||||
string json = JsonSerializer.Serialize(notification, NotificationSourceGenerationContext.Default.Notification);
|
string json = JsonSerializer.Serialize(notification, NotificationSourceGenerationContext.Default.Notification);
|
||||||
string directory = Path.Combine(settings.SourceFileLocation, notification.Page, notification.Id.ToString());
|
string directory = Path.Combine(settings.SourceFileLocation, notification.Page, notification.Id.ToString());
|
||||||
if (!Directory.Exists(directory))
|
if (!Directory.Exists(directory))
|
||||||
@ -79,14 +170,14 @@ public class WeightedShortestJobFirstModule : NancyModule
|
|||||||
File.WriteAllText(checkFile, json);
|
File.WriteAllText(checkFile, json);
|
||||||
}
|
}
|
||||||
|
|
||||||
internal static string? PopulatedWorkItemsAndGetJson(Settings settings)
|
internal static string? PopulatedWorkItemsAndGetJson(Settings settings, Dictionary<int, WorkItem> workItems)
|
||||||
{
|
{
|
||||||
string? result = null;
|
string? result = null;
|
||||||
ReadOnlyDictionary<int, WorkItem?> workItems = WorkItem.GetKeyValuePairs(settings);
|
ReadOnlyDictionary<int, WorkItem?> keyValuePairs = WorkItem.GetKeyValuePairs(settings);
|
||||||
int useCount = (from l in workItems where l.Value.CostOfDelay is not null select true).Count();
|
int useCount = (from l in keyValuePairs where l.Value.CostOfDelay is not null select true).Count();
|
||||||
double prioritySize = useCount / settings.Priorities;
|
double prioritySize = useCount / settings.Priorities;
|
||||||
double priorityGroupSize = useCount / settings.PriorityGroups;
|
double priorityGroupSize = useCount / settings.PriorityGroups;
|
||||||
WorkItem[] sorted = (from l in workItems
|
WorkItem[] sorted = (from l in keyValuePairs
|
||||||
where l.Value is not null
|
where l.Value is not null
|
||||||
orderby l.Value.Site is not null,
|
orderby l.Value.Site is not null,
|
||||||
l.Value.Site descending,
|
l.Value.Site descending,
|
||||||
@ -96,7 +187,7 @@ public class WeightedShortestJobFirstModule : NancyModule
|
|||||||
l.Value.BusinessValue?.FibonacciAverage descending,
|
l.Value.BusinessValue?.FibonacciAverage descending,
|
||||||
l.Key
|
l.Key
|
||||||
select l.Value).ToArray();
|
select l.Value).ToArray();
|
||||||
lock (FileRead.WorkItems)
|
lock (workItems)
|
||||||
{
|
{
|
||||||
int j = 0;
|
int j = 0;
|
||||||
WorkItem w;
|
WorkItem w;
|
||||||
@ -105,8 +196,8 @@ public class WeightedShortestJobFirstModule : NancyModule
|
|||||||
int? sortBeforeId;
|
int? sortBeforeId;
|
||||||
WorkItem workItem;
|
WorkItem workItem;
|
||||||
int? sortPriority;
|
int? sortPriority;
|
||||||
|
workItems.Clear();
|
||||||
int? sortPriorityGroup;
|
int? sortPriorityGroup;
|
||||||
FileRead.WorkItems.Clear();
|
|
||||||
for (int i = 0; i < sorted.Length; i++)
|
for (int i = 0; i < sorted.Length; i++)
|
||||||
{
|
{
|
||||||
w = sorted[i];
|
w = sorted[i];
|
||||||
@ -130,18 +221,34 @@ public class WeightedShortestJobFirstModule : NancyModule
|
|||||||
sortPriorityGroup = settings.PriorityGroups;
|
sortPriorityGroup = settings.PriorityGroups;
|
||||||
}
|
}
|
||||||
workItem = WorkItem.GetWorkItem(w, i, sortBeforeId, sortPriority, sortPriorityGroup);
|
workItem = WorkItem.GetWorkItem(w, i, sortBeforeId, sortPriority, sortPriorityGroup);
|
||||||
FileRead.WorkItems.Add(workItem.Id, workItem);
|
workItems.Add(workItem.Id, workItem);
|
||||||
lastId = w.Id;
|
lastId = w.Id;
|
||||||
}
|
}
|
||||||
result = JsonSerializer.Serialize(FileRead.WorkItems, WorkItemDictionarySourceGenerationContext.Default.DictionaryInt32WorkItem);
|
result = JsonSerializer.Serialize(workItems, WorkItemDictionarySourceGenerationContext.Default.DictionaryInt32WorkItem);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal static void WriteJson(string json)
|
private static WorkItem? GetWorkItem(Dictionary<int, WorkItem> workItems, Notification notification)
|
||||||
{
|
{
|
||||||
string jsonFile = Path.Combine(FileRead.Settings.ParentDirectory, "{}.json");
|
WorkItem? result;
|
||||||
string jsonFileWith = Path.Combine(FileRead.Settings.ParentDirectory, "{[]}.json");
|
if (string.IsNullOrEmpty(notification.Id) || !int.TryParse(notification.Id, out int id))
|
||||||
|
result = null;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
lock (workItems)
|
||||||
|
{
|
||||||
|
if (!workItems.TryGetValue(id, out result))
|
||||||
|
throw new Exception();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
internal static void WriteJson(Settings settings, string json)
|
||||||
|
{
|
||||||
|
string jsonFile = Path.Combine(settings.ParentDirectory, "{}.json");
|
||||||
|
string jsonFileWith = Path.Combine(settings.ParentDirectory, "{[]}.json");
|
||||||
string jsonOld = File.Exists(jsonFileWith) ? File.ReadAllText(jsonFileWith) : string.Empty;
|
string jsonOld = File.Exists(jsonFileWith) ? File.ReadAllText(jsonFileWith) : string.Empty;
|
||||||
if (json != jsonOld)
|
if (json != jsonOld)
|
||||||
{
|
{
|
||||||
|
@ -203,3 +203,9 @@ public class WorkItem
|
|||||||
internal partial class WorkItemDictionarySourceGenerationContext : JsonSerializerContext
|
internal partial class WorkItemDictionarySourceGenerationContext : JsonSerializerContext
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[JsonSourceGenerationOptions(WriteIndented = true)]
|
||||||
|
[JsonSerializable(typeof(KeyValuePair<string, WorkItem>))]
|
||||||
|
internal partial class KeyValuePairStringWorkItemSourceGenerationContext : JsonSerializerContext
|
||||||
|
{
|
||||||
|
}
|
@ -143,13 +143,17 @@ public class FileRead : Shared.FileRead, IFileRead
|
|||||||
private static void MoveMatchingFile(string jobIdDirectory, string matchDirectory)
|
private static void MoveMatchingFile(string jobIdDirectory, string matchDirectory)
|
||||||
{
|
{
|
||||||
string checkFile;
|
string checkFile;
|
||||||
|
string jobIdDirectoryFileName;
|
||||||
|
string matchDirectoryFileName;
|
||||||
string[] jobIdDirectoryFiles = Directory.GetFiles(jobIdDirectory, "*", SearchOption.TopDirectoryOnly);
|
string[] jobIdDirectoryFiles = Directory.GetFiles(jobIdDirectory, "*", SearchOption.TopDirectoryOnly);
|
||||||
string[] matchDirectoryFiles = Directory.GetFiles(matchDirectory, "*", SearchOption.TopDirectoryOnly);
|
string[] matchDirectoryFiles = Directory.GetFiles(matchDirectory, "*", SearchOption.TopDirectoryOnly);
|
||||||
foreach (string jobIdDirectoryFile in jobIdDirectoryFiles)
|
foreach (string jobIdDirectoryFile in jobIdDirectoryFiles)
|
||||||
{
|
{
|
||||||
|
jobIdDirectoryFileName = Path.GetFileName(jobIdDirectoryFile);
|
||||||
foreach (string matchDirectoryFile in matchDirectoryFiles)
|
foreach (string matchDirectoryFile in matchDirectoryFiles)
|
||||||
{
|
{
|
||||||
if (jobIdDirectoryFile.StartsWith(matchDirectoryFile))
|
matchDirectoryFileName = Path.GetFileName(matchDirectoryFile);
|
||||||
|
if (jobIdDirectoryFileName.StartsWith(matchDirectoryFileName))
|
||||||
{
|
{
|
||||||
checkFile = Path.Combine(matchDirectory, Path.GetFileName(matchDirectoryFile));
|
checkFile = Path.Combine(matchDirectory, Path.GetFileName(matchDirectoryFile));
|
||||||
if (File.Exists(checkFile))
|
if (File.Exists(checkFile))
|
||||||
|
@ -6,15 +6,15 @@
|
|||||||
<meta name="viewport" content="width=device-width" />
|
<meta name="viewport" content="width=device-width" />
|
||||||
<title>Infineon - 122508 - Feature iteration should be set to max of children</title>
|
<title>Infineon - 122508 - Feature iteration should be set to max of children</title>
|
||||||
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2025-04-10-15-59" rel="stylesheet" />
|
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2025-04-14-08-10" rel="stylesheet" />
|
||||||
<link href="/igniteui/css/structure/infragistics.css?v=2025-04-10-15-59" rel="stylesheet" />
|
<link href="/igniteui/css/structure/infragistics.css?v=2025-04-14-08-10" rel="stylesheet" />
|
||||||
<link href="/styles/122508.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/122508.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<script src="/js/jquery-3.6.0.min.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/jquery-3.6.0.min.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/jquery-ui.min.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/jquery-ui.min.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/122508.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/122508.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.core.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.core.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.lob.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.lob.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.dv.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.dv.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@ -56,7 +56,7 @@
|
|||||||
<script>
|
<script>
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
initIndex("/markdown/check-122508.json?v=2025-04-10-15-59");
|
initIndex("/markdown/check-122508.json?v=2025-04-14-08-10");
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
@ -6,15 +6,15 @@
|
|||||||
<meta name="viewport" content="width=device-width" />
|
<meta name="viewport" content="width=device-width" />
|
||||||
<title>Infineon - 122514 - Features and children must have a Tag</title>
|
<title>Infineon - 122514 - Features and children must have a Tag</title>
|
||||||
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2025-04-10-15-59" rel="stylesheet" />
|
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2025-04-14-08-10" rel="stylesheet" />
|
||||||
<link href="/igniteui/css/structure/infragistics.css?v=2025-04-10-15-59" rel="stylesheet" />
|
<link href="/igniteui/css/structure/infragistics.css?v=2025-04-14-08-10" rel="stylesheet" />
|
||||||
<link href="/styles/122514.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/122514.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<script src="/js/jquery-3.6.0.min.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/jquery-3.6.0.min.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/jquery-ui.min.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/jquery-ui.min.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/122514.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/122514.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.core.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.core.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.lob.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.lob.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.dv.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.dv.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@ -56,7 +56,7 @@
|
|||||||
<script>
|
<script>
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
initIndex("/markdown/check-122514.json?v=2025-04-10-15-59");
|
initIndex("/markdown/check-122514.json?v=2025-04-14-08-10");
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
@ -6,15 +6,15 @@
|
|||||||
<meta name="viewport" content="width=device-width" />
|
<meta name="viewport" content="width=device-width" />
|
||||||
<title>Infineon - 122517 - Feature start date should be min activated date of children</title>
|
<title>Infineon - 122517 - Feature start date should be min activated date of children</title>
|
||||||
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2025-04-10-15-59" rel="stylesheet" />
|
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2025-04-14-08-10" rel="stylesheet" />
|
||||||
<link href="/igniteui/css/structure/infragistics.css?v=2025-04-10-15-59" rel="stylesheet" />
|
<link href="/igniteui/css/structure/infragistics.css?v=2025-04-14-08-10" rel="stylesheet" />
|
||||||
<link href="/styles/122517.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/122517.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<script src="/js/jquery-3.6.0.min.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/jquery-3.6.0.min.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/jquery-ui.min.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/jquery-ui.min.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/122517.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/122517.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.core.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.core.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.lob.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.lob.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.dv.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.dv.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@ -56,7 +56,7 @@
|
|||||||
<script>
|
<script>
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
initIndex("/markdown/check-122517.json?v=2025-04-10-15-59");
|
initIndex("/markdown/check-122517.json?v=2025-04-14-08-10");
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
@ -6,15 +6,15 @@
|
|||||||
<meta name="viewport" content="width=device-width" />
|
<meta name="viewport" content="width=device-width" />
|
||||||
<title>Infineon - 123066 - When children of a Feature are not New Feature must also not be New</title>
|
<title>Infineon - 123066 - When children of a Feature are not New Feature must also not be New</title>
|
||||||
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2025-04-10-15-59" rel="stylesheet" />
|
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2025-04-14-08-10" rel="stylesheet" />
|
||||||
<link href="/igniteui/css/structure/infragistics.css?v=2025-04-10-15-59" rel="stylesheet" />
|
<link href="/igniteui/css/structure/infragistics.css?v=2025-04-14-08-10" rel="stylesheet" />
|
||||||
<link href="/styles/123066.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/123066.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<script src="/js/jquery-3.6.0.min.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/jquery-3.6.0.min.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/jquery-ui.min.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/jquery-ui.min.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/123066.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/123066.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.core.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.core.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.lob.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.lob.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.dv.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.dv.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@ -56,7 +56,7 @@
|
|||||||
<script>
|
<script>
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
initIndex("/markdown/check-123066.json?v=2025-04-10-15-59");
|
initIndex("/markdown/check-123066.json?v=2025-04-14-08-10");
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
@ -6,15 +6,15 @@
|
|||||||
<meta name="viewport" content="width=device-width" />
|
<meta name="viewport" content="width=device-width" />
|
||||||
<title>Infineon - 123067 - WIP</title>
|
<title>Infineon - 123067 - WIP</title>
|
||||||
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2025-04-10-15-59" rel="stylesheet" />
|
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2025-04-14-08-10" rel="stylesheet" />
|
||||||
<link href="/igniteui/css/structure/infragistics.css?v=2025-04-10-15-59" rel="stylesheet" />
|
<link href="/igniteui/css/structure/infragistics.css?v=2025-04-14-08-10" rel="stylesheet" />
|
||||||
<link href="/styles/123067.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/123067.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<script src="/js/jquery-3.6.0.min.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/jquery-3.6.0.min.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/jquery-ui.min.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/jquery-ui.min.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/123067.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/123067.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.core.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.core.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.lob.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.lob.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.dv.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.dv.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@ -56,7 +56,7 @@
|
|||||||
<script>
|
<script>
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
initIndex("/markdown/check-123067.json?v=2025-04-10-15-59");
|
initIndex("/markdown/check-123067.json?v=2025-04-14-08-10");
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
@ -6,15 +6,15 @@
|
|||||||
<meta name="viewport" content="width=device-width" />
|
<meta name="viewport" content="width=device-width" />
|
||||||
<title>Infineon - 126169 - Children of a Feature should have the same priority</title>
|
<title>Infineon - 126169 - Children of a Feature should have the same priority</title>
|
||||||
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2025-04-10-15-59" rel="stylesheet" />
|
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2025-04-14-08-10" rel="stylesheet" />
|
||||||
<link href="/igniteui/css/structure/infragistics.css?v=2025-04-10-15-59" rel="stylesheet" />
|
<link href="/igniteui/css/structure/infragistics.css?v=2025-04-14-08-10" rel="stylesheet" />
|
||||||
<link href="/styles/126169.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/126169.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<script src="/js/jquery-3.6.0.min.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/jquery-3.6.0.min.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/jquery-ui.min.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/jquery-ui.min.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/126169.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/126169.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.core.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.core.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.lob.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.lob.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.dv.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.dv.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@ -56,7 +56,7 @@
|
|||||||
<script>
|
<script>
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
initIndex("/markdown/check-126169.json?v=2025-04-10-15-59");
|
initIndex("/markdown/check-126169.json?v=2025-04-14-08-10");
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
@ -6,15 +6,15 @@
|
|||||||
<meta name="viewport" content="width=device-width" />
|
<meta name="viewport" content="width=device-width" />
|
||||||
<title>Infineon - Business Value</title>
|
<title>Infineon - Business Value</title>
|
||||||
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2025-04-10-15-59" rel="stylesheet" />
|
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2025-04-14-08-10" rel="stylesheet" />
|
||||||
<link href="/igniteui/css/structure/infragistics.css?v=2025-04-10-15-59" rel="stylesheet" />
|
<link href="/igniteui/css/structure/infragistics.css?v=2025-04-14-08-10" rel="stylesheet" />
|
||||||
<link href="/styles/business.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/business.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<script src="/js/jquery-3.6.0.min.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/jquery-3.6.0.min.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/jquery-ui.min.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/jquery-ui.min.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/business.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/business.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.core.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.core.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.lob.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.lob.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.dv.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.dv.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@ -59,7 +59,7 @@ What is the relative value to the Customer or business?
|
|||||||
<script>
|
<script>
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
initIndex("/markdown/bugs-features-with-parents.json?v=2025-04-10-15-59", "https://eaf-dev.mes.infineon.com/api/v1/ado/", "business", "Value", "Business Value", "/markdown/PI5-Results/business.json?v=2025-04-10-15-59");
|
initIndex("/markdown/bugs-features-with-parents.json?v=2025-04-14-08-10", "https://eaf-dev.mes.infineon.com/api/v1/ado/", "business", "Value", "Business Value", "/markdown/PI5-Results/business.json?v=2025-04-14-08-10");
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
@ -9,8 +9,7 @@
|
|||||||
<link href="/styles/cod.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/cod.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<script src="/js/scripts/jquery-1.6.4.min.js"></script>
|
<script src="/js/scripts/jquery-1.6.4.min.js"></script>
|
||||||
<script src="/js/scripts/jquery.signalR-2.4.3.min.js"></script>
|
<script src="/js/scripts/jquery.signalR-2.4.3.min.js"></script>
|
||||||
<script src="/signalr/hubs"></script>
|
<script src="/js/cod-1-122-0.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/cod-b.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@ -56,14 +55,15 @@
|
|||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
const fromHtml = true;
|
const fromHtml = true;
|
||||||
const machineId = 'na';
|
const machineId = 'na';
|
||||||
const username = 'cbecker1';
|
const username = 'anonymous';
|
||||||
const baseUri = 'https://eaf-dev.mes.infineon.com';
|
const baseUri = 'https://eaf-dev.mes.infineon.com';
|
||||||
const apiUrl = 'https://eaf-dev.mes.infineon.com/api/v1/ado/';
|
const apiUrl = 'https://eaf-dev.mes.infineon.com/api/v1/ado/';
|
||||||
const windowLocationHRef = window.location.href;
|
const windowLocationHRef = window.location.href;
|
||||||
const signalRUrl = baseUri + '/signalr';
|
const signalRUrl = baseUri + '/signalr';
|
||||||
const workItems = {
|
const workItems = {
|
||||||
a: baseUri + '/markdown/bugs-features-with-parents.json?v=2025-04-10-15-59',
|
a: baseUri + '/markdown/bugs-features-with-parents.json?v=2025-04-14-08-10',
|
||||||
b: baseUri + '/markdown/{[]}.json?v=2025-04-10-15-59'
|
b: baseUri + '/markdown/{[]}.json?v=2025-04-14-08-10',
|
||||||
|
timeout: 3000,
|
||||||
};
|
};
|
||||||
const b = {
|
const b = {
|
||||||
page: 'business',
|
page: 'business',
|
||||||
|
@ -6,15 +6,15 @@
|
|||||||
<meta name="viewport" content="width=device-width" />
|
<meta name="viewport" content="width=device-width" />
|
||||||
<title>Infineon - Effort</title>
|
<title>Infineon - Effort</title>
|
||||||
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2025-04-10-15-59" rel="stylesheet" />
|
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2025-04-14-08-10" rel="stylesheet" />
|
||||||
<link href="/igniteui/css/structure/infragistics.css?v=2025-04-10-15-59" rel="stylesheet" />
|
<link href="/igniteui/css/structure/infragistics.css?v=2025-04-14-08-10" rel="stylesheet" />
|
||||||
<link href="/styles/effort.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/effort.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<script src="/js/jquery-3.6.0.min.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/jquery-3.6.0.min.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/jquery-ui.min.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/jquery-ui.min.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/effort.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/effort.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.core.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.core.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.lob.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.lob.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.dv.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.dv.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@ -55,7 +55,7 @@
|
|||||||
<script>
|
<script>
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
initIndex("/markdown/bugs-features-with-parents.json?v=2025-04-10-15-59", "https://eaf-dev.mes.infineon.com/api/v1/ado/", "effort", "Effort", "Effort", "/markdown/PI5-Results/effort.json?v=2025-04-10-15-59");
|
initIndex("/markdown/bugs-features-with-parents.json?v=2025-04-14-08-10", "https://eaf-dev.mes.infineon.com/api/v1/ado/", "effort", "Effort", "Effort", "/markdown/PI5-Results/effort.json?v=2025-04-14-08-10");
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
@ -6,15 +6,15 @@
|
|||||||
<meta name="viewport" content="width=device-width" />
|
<meta name="viewport" content="width=device-width" />
|
||||||
<title>Infineon - Risk Reduction and/or Opportunity Enablement</title>
|
<title>Infineon - Risk Reduction and/or Opportunity Enablement</title>
|
||||||
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2025-04-10-15-59" rel="stylesheet" />
|
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2025-04-14-08-10" rel="stylesheet" />
|
||||||
<link href="/igniteui/css/structure/infragistics.css?v=2025-04-10-15-59" rel="stylesheet" />
|
<link href="/igniteui/css/structure/infragistics.css?v=2025-04-14-08-10" rel="stylesheet" />
|
||||||
<link href="/styles/risk.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/risk.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<script src="/js/jquery-3.6.0.min.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/jquery-3.6.0.min.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/jquery-ui.min.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/jquery-ui.min.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/risk.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/risk.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.core.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.core.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.lob.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.lob.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.dv.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.dv.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@ -59,7 +59,7 @@ What else does this do for our business?
|
|||||||
<script>
|
<script>
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
initIndex("/markdown/bugs-features-with-parents.json?v=2025-04-10-15-59", "https://eaf-dev.mes.infineon.com/api/v1/ado/", "risk", "Risk", "Risk Reduction and/or Opportunity Enablement", "/markdown/PI5-Results/risk.json?v=2025-04-10-15-59");
|
initIndex("/markdown/bugs-features-with-parents.json?v=2025-04-14-08-10", "https://eaf-dev.mes.infineon.com/api/v1/ado/", "risk", "Risk", "Risk Reduction and/or Opportunity Enablement", "/markdown/PI5-Results/risk.json?v=2025-04-14-08-10");
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
<script src="/js/scripts/jquery-1.6.4.min.js"></script>
|
<script src="/js/scripts/jquery-1.6.4.min.js"></script>
|
||||||
<script src="/js/scripts/jquery.signalR-2.4.3.min.js"></script>
|
<script src="/js/scripts/jquery.signalR-2.4.3.min.js"></script>
|
||||||
<script src="/signalr/hubs"></script>
|
<script src="/signalr/hubs"></script>
|
||||||
<script src="/js/simple.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/simple.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
|
@ -6,15 +6,15 @@
|
|||||||
<meta name="viewport" content="width=device-width" />
|
<meta name="viewport" content="width=device-width" />
|
||||||
<title>Infineon - Time Criticality</title>
|
<title>Infineon - Time Criticality</title>
|
||||||
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2025-04-10-15-59" rel="stylesheet" />
|
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2025-04-14-08-10" rel="stylesheet" />
|
||||||
<link href="/igniteui/css/structure/infragistics.css?v=2025-04-10-15-59" rel="stylesheet" />
|
<link href="/igniteui/css/structure/infragistics.css?v=2025-04-14-08-10" rel="stylesheet" />
|
||||||
<link href="/styles/time.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/time.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<script src="/js/jquery-3.6.0.min.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/jquery-3.6.0.min.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/jquery-ui.min.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/jquery-ui.min.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/time.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/time.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.core.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.core.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.lob.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.lob.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.dv.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.dv.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@ -59,7 +59,7 @@ How does user/business value decay over time?
|
|||||||
<script>
|
<script>
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
initIndex("/markdown/bugs-features-with-parents.json?v=2025-04-10-15-59", "https://eaf-dev.mes.infineon.com/api/v1/ado/", "time", "Critical", "Time Criticality", "/markdown/PI5-Results/time.json?v=2025-04-10-15-59");
|
initIndex("/markdown/bugs-features-with-parents.json?v=2025-04-14-08-10", "https://eaf-dev.mes.infineon.com/api/v1/ado/", "time", "Critical", "Time Criticality", "/markdown/PI5-Results/time.json?v=2025-04-14-08-10");
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
@ -6,15 +6,15 @@
|
|||||||
<meta name="viewport" content="width=device-width" />
|
<meta name="viewport" content="width=device-width" />
|
||||||
<title>Infineon - User Stor(ies) with parents</title>
|
<title>Infineon - User Stor(ies) with parents</title>
|
||||||
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2025-04-10-15-59" rel="stylesheet" />
|
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2025-04-14-08-10" rel="stylesheet" />
|
||||||
<link href="/igniteui/css/structure/infragistics.css?v=2025-04-10-15-59" rel="stylesheet" />
|
<link href="/igniteui/css/structure/infragistics.css?v=2025-04-14-08-10" rel="stylesheet" />
|
||||||
<link href="/styles/with-parents.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/with-parents.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<script src="/js/jquery-3.6.0.min.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/jquery-3.6.0.min.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/jquery-ui.min.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/jquery-ui.min.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/with-parents.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/with-parents.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.core.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.core.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.lob.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.lob.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.dv.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.dv.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@ -55,7 +55,7 @@
|
|||||||
<script>
|
<script>
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
initIndex("/markdown/bugs-user-stories-with-parents.json?v=2025-04-10-15-59");
|
initIndex("/markdown/bugs-user-stories-with-parents.json?v=2025-04-14-08-10");
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
@ -6,15 +6,15 @@
|
|||||||
<meta name="viewport" content="width=device-width" />
|
<meta name="viewport" content="width=device-width" />
|
||||||
<title>Infineon - Result of Weightest Shortest Job First calculation (see @SCALE formula)</title>
|
<title>Infineon - Result of Weightest Shortest Job First calculation (see @SCALE formula)</title>
|
||||||
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2025-04-10-15-59" rel="stylesheet" />
|
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2025-04-14-08-10" rel="stylesheet" />
|
||||||
<link href="/igniteui/css/structure/infragistics.css?v=2025-04-10-15-59" rel="stylesheet" />
|
<link href="/igniteui/css/structure/infragistics.css?v=2025-04-14-08-10" rel="stylesheet" />
|
||||||
<link href="/styles/wsjf.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/wsjf.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<script src="/js/jquery-3.6.0.min.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/jquery-3.6.0.min.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/jquery-ui.min.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/jquery-ui.min.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/wsjf-b.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/wsjf-b.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.core.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.core.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.lob.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.lob.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.dv.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.dv.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@ -55,7 +55,7 @@
|
|||||||
<script>
|
<script>
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
initIndex("/markdown/bugs-features-with-parents.json?v=2025-04-10-15-59", "https://eaf-dev.mes.infineon.com/api/v1/ado/");
|
initIndex("/markdown/bugs-features-with-parents.json?v=2025-04-14-08-10", "https://eaf-dev.mes.infineon.com/api/v1/ado/");
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
@ -6,15 +6,15 @@
|
|||||||
<meta name="viewport" content="width=device-width" />
|
<meta name="viewport" content="width=device-width" />
|
||||||
<title>Infineon - Result of Weightest Shortest Job First calculation (see @SCALE formula)</title>
|
<title>Infineon - Result of Weightest Shortest Job First calculation (see @SCALE formula)</title>
|
||||||
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2025-04-10-15-59" rel="stylesheet" />
|
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2025-04-14-08-10" rel="stylesheet" />
|
||||||
<link href="/igniteui/css/structure/infragistics.css?v=2025-04-10-15-59" rel="stylesheet" />
|
<link href="/igniteui/css/structure/infragistics.css?v=2025-04-14-08-10" rel="stylesheet" />
|
||||||
<link href="/styles/wsjf.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
<link href="/styles/wsjf.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||||
<script src="/js/jquery-3.6.0.min.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/jquery-3.6.0.min.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/jquery-ui.min.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/jquery-ui.min.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/js/wsjf.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/js/wsjf.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.core.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.core.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.lob.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.lob.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
<script src="/igniteui/js/infragistics.dv.js?v=2025-04-10-15-59" type="text/javascript"></script>
|
<script src="/igniteui/js/infragistics.dv.js?v=2025-04-14-08-10" type="text/javascript"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@ -55,7 +55,7 @@
|
|||||||
<script>
|
<script>
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
initIndex("/markdown/bugs-features-with-parents.json?v=2025-04-10-15-59", "https://eaf-dev.mes.infineon.com/api/v1/ado/");
|
initIndex("/markdown/bugs-features-with-parents.json?v=2025-04-14-08-10", "https://eaf-dev.mes.infineon.com/api/v1/ado/");
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
17113
Adaptation/FileHandlers/json/StaticSite/js/cod-1-122-0.js
Normal file
17113
Adaptation/FileHandlers/json/StaticSite/js/cod-1-122-0.js
Normal file
File diff suppressed because one or more lines are too long
@ -17062,8 +17062,8 @@ if (typeof document == 'undefined') {
|
|||||||
const apiUrl = "https://eaf-dev.mes.infineon.com/api/v1/ado/";
|
const apiUrl = "https://eaf-dev.mes.infineon.com/api/v1/ado/";
|
||||||
const windowLocationHRef = "https://eaf-dev.mes.infineon.com/html/cod.html?site=MES";
|
const windowLocationHRef = "https://eaf-dev.mes.infineon.com/html/cod.html?site=MES";
|
||||||
const workItems = {
|
const workItems = {
|
||||||
a: "https://eaf-dev.mes.infineon.com/markdown/bugs-features-with-parents.json?v=2025-04-10-15-59",
|
a: "https://eaf-dev.mes.infineon.com/markdown/bugs-features-with-parents.json?v=2025-04-14-08-10",
|
||||||
b: "https://eaf-dev.mes.infineon.com/markdown/{}.json?v=2025-04-10-15-59"
|
b: "https://eaf-dev.mes.infineon.com/markdown/{}.json?v=2025-04-14-08-10"
|
||||||
};
|
};
|
||||||
const b = {
|
const b = {
|
||||||
page: "business",
|
page: "business",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user