{
  "WorkItem": {
    "AffectedComponent": {
      "Name": "",
      "DisplayName": ""
    },
    "ClosedComment": "This is implemented in change set 26051.  This is first available in the v1.7.1.4 preview release.",
    "ClosedDate": "2008-11-15T21:16:49-08:00",
    "CommentCount": 0,
    "Custom": null,
    "Description": "The current extract event fires only between entries.\nIt would be nice to have an extract progress event to fire *during* the extraction of each entry.  \nThis is especially helpful when extracting really large entries, say, over 100mb. \n \nThe same thing could apply to creating and saving a zip archive.",
    "LastUpdatedDate": "2013-05-16T05:32:38.573-07:00",
    "PlannedForRelease": "1.7 DotNetZip",
    "ReleaseVisibleToPublic": true,
    "Priority": {
      "Name": "Low",
      "Severity": 50,
      "Id": 1
    },
    "ProjectName": "DotNetZip",
    "ReportedDate": "2008-09-17T20:29:18.63-07:00",
    "Status": {
      "Name": "Closed",
      "Id": 4
    },
    "ReasonClosed": {
      "Name": "Unassigned"
    },
    "Summary": "More granular Extract + Save progress events",
    "Type": {
      "Name": "Feature",
      "Id": 1
    },
    "VoteCount": 4,
    "Id": 6200
  },
  "FileAttachments": [],
  "Comments": [
    {
      "Message": "There are three use cases: reading an archive, extracting one or more files, and writing an archive. \r\n\r\nIn all cases we want a progress event to be based on size of data through the stream, rather than number of entries. \r\n\r\nI think the way to do this for reading an archive is to have a read counter on the zip archive and fire the event after every 1% or whatever of the file read.  The problem is, in the current code, that reading can occur in multiple places.   We'd need to wrap the ArchiveStream in a ProgressEventFiringStream or something, which intelligently fires events as it reads. \r\n\r\nLikewise with writing and extracting.  \r\n\r\n\r\n",
      "PostedDate": "2008-10-22T08:05:13.017-07:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2008-11-13T11:40:14.443-08:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2008-11-13T13:45:48.373-08:00",
      "Id": -2147483648
    },
    {
      "Message": "I think this is a great idea for Create and Extract!",
      "PostedDate": "2008-11-13T13:46:35.703-08:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2008-11-13T18:42:43.393-08:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2008-11-14T09:51:56.697-08:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2008-11-15T21:16:49-08:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2013-02-21T18:44:40.29-08:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2013-05-16T05:32:38.573-07:00",
      "Id": -2147483648
    }
  ]
}