CrossWire Tracker: Bugs, Issues, Requests and Plans

  • More
    DashboardsProjectsIssues
  • Give feedback to Atlassian
  • Help
    • JIRA Core help
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
  • Log In

FiltersUndock

  • New filter
  • Find filters
  • My open issues
  • Reported by me
  • All issues
  • Open issues
  • Done issues
  • Viewed recently
  • Created recently
  • Resolved recently
  • Updated recently

Favorite Filters

You must be logged in to view favorite filters.

Search

AdvancedBasic
Views
  • Detail View
  • List View
Order bySelect the field that issues are ordered by.
  1. Bug JS-293OpenFileStateManager design flaw
  2. New Feature JS-287Add SwordBook.getRawTextLength
  3. Improvement JS-283Add XZ, BZip2 and Gzip compression to JSword
  4. Bug JS-282sbmd of newly installed module is incomplete preventing module deletion
  5. Bug JS-279Error Exception Key Not Found for Dictionary book for the first key
  6. Bug JS-275First dictionary entry cannot be viewed
  7. Bug JS-268Cannot install both KJVA and KJV
  8. Bug JS-262ZVerseBackend ignores NT in global key list
  9. Bug JS-260Verse markers before title
  10. Bug JS-256Dictionary bugs
  11. Bug JS-227NETText - Notes sometimes output as text
  12. Bug JS-224Merged verses are repeated
  13. Bug JS-223Possible StackOverflowError in RawLDBackend
  14. Bug JS-222BDBGlosses_Strongs errors with JSword apps
  15. Improvement JS-214Add ability to distinguish headers automatically added by JSword in dictionary entries
  16. Bug JS-208Deleting WelBeiblNet deletes all installed bibles
  17. Bug JS-207Cannot delete BulCarigradNT
  18. Bug JS-202TDavid.contains(verse) does not work correctly
  19. Bug JS-187JSword error when showing WEB/HNV text
  20. Bug JS-182GenBookBackend problem in contains(Key)
  21. Bug JS-177Need a null check in GenBookBackend.getRawText
  22. Bug JS-170GenBookBackend.contains(key) throws NPE if key not found
  23. Sub-task JS-143Enhanced for loop
  24. Sub-task JS-142Add type checking to containers
  25. Improvement JS-103Support for Alternate Versification?
  26. Sub-task JS-100Jsword bug if sword module conf does not have lang entry
  27. New Feature JS-83Ability to detect Book upgrades
  28. Bug JS-82Reading of sword module conf has a bug
  29. Bug JS-70Thml font color is ignored
  30. Bug JS-59ThML Strongs and Morph don't become proper OSIS
  31. Bug JS-57Morphology not handled properly in ThML modules
  32. Bug JS-53Gen 12.4 is missing from every module
  33. Bug JS-51Use WINDOWS-1252 for Latin 1
  34. New Feature JS-34Add support for Sword zLD
Refresh results
Uploaded image for project: 'JSword'
  1. JSword
  2. JS-293

OpenFileStateManager design flaw

  • Log In
  • Export
    • XML
    • Word
    • Printable

    Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: 1.6
    • Fix Version/s: 2.0
    • Component/s: o.c.jsword.book.sword
    • Labels:
      None
    • Environment:

      Every OS defines the open file handle limit differently. It may differ from one installation to another. I hit it with 500+ modules on a Mac OS X 10.10.

      Description

      The OFSM manages pools of open file states per book/module. In a single threaded application this pool is never longer than one. If a book is not accessed a pool is not created. If multiple threads simultaneously access the same book, then open file states are created to match this number. The pool grows when open file states are returned. So far so good.

      The problems:
      Each pool is unbounded.
      Each pool never shrinks.
      The FIFO (First In/First Out) policy, which has no effect, should be LIFO (Last In/First Out).
      Invalid OpenFileStates are added to the pool (I think this is the case but have to verify.)

      When the number of books or the level of concurrency is high, this will result in new open files states being unable to open their files. (I encountered this when trying to read all 500+ modules one after the other).

      The solution:
      Pool should be bounded. That is when adding to a full pool, an object is evicted.
      Pool protocol should be LIFO to support MRU (Most recently used) or MFU (Most frequently used).
      There should be a LRU pool eviction policy. This should be triggered on a regular basis.

        Attachments

          Activity

          • All
          • Comments
          • Work Log
          • History
          • Activity
          There are no comments yet on this issue.

            People

            • Assignee:
              dmsmith DM Smith
              Reporter:
              dmsmith DM Smith
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                16/Feb/15 11:13 AM
                Updated:
                16/Feb/15 11:13 AM
              • 1 of 34
              • Next Issue 'JS-287'
              [{"value":"affectedVersion","displayName":"affectedVersion","auto":"true","orderable":"true","searchable":"true","operators":["=","!=","in","not in","is","is not","<","<=",">",">="],"types":["com.atlassian.jira.project.version.Version"]},{"value":"assignee","displayName":"assignee","auto":"true","orderable":"true","searchable":"true","operators":["is","was in","=","!=","is not","changed","not in","was","was not","in","was not in"],"types":["com.atlassian.jira.user.ApplicationUser"]},{"value":"attachments","displayName":"attachments","searchable":"true","operators":["is","is not"],"types":["com.atlassian.jira.issue.attachment.Attachment"]},{"value":"\"Business Value\"","displayName":"Business Value - cf[10004]","orderable":"true","searchable":"true","cfid":"cf[10004]","operators":["=","!=","in","not in","is","is not","<","<=",">",">="],"types":["java.lang.Number"]},{"value":"category","displayName":"category","auto":"true","searchable":"true","operators":["=","!=","in","not in","is","is not"],"types":["com.atlassian.jira.project.ProjectCategory"]},{"value":"comment","displayName":"comment","searchable":"true","operators":["~","!~"],"types":["java.lang.String"]},{"value":"component","displayName":"component","auto":"true","orderable":"true","searchable":"true","operators":["=","!=","in","not in","is","is not"],"types":["com.atlassian.jira.bc.project.component.ProjectComponent"]},{"value":"created","displayName":"created","orderable":"true","searchable":"true","operators":["=","!=","in","not in","is","is not","<","<=",">",">="],"types":["java.util.Date"]},{"value":"createdDate","displayName":"createdDate","orderable":"true","searchable":"true","operators":["=","!=","in","not in","is","is not","<","<=",">",">="],"types":["java.util.Date"]},{"value":"creator","displayName":"creator","auto":"true","orderable":"true","searchable":"true","operators":["=","!=","in","not in","is","is not"],"types":["com.atlassian.jira.user.ApplicationUser"]},{"value":"description","displayName":"description","orderable":"true","searchable":"true","operators":["~","!~","is","is not"],"types":["java.lang.String"]},{"value":"due","displayName":"due","orderable":"true","searchable":"true","operators":["=","!=","in","not in","is","is not","<","<=",">",">="],"types":["java.util.Date"]},{"value":"duedate","displayName":"duedate","orderable":"true","searchable":"true","operators":["=","!=","in","not in","is","is not","<","<=",">",">="],"types":["java.util.Date"]},{"value":"environment","displayName":"environment","orderable":"true","searchable":"true","operators":["~","!~","is","is not"],"types":["java.lang.String"]},{"value":"\"Epic/Theme\"","displayName":"Epic/Theme - cf[10001]","auto":"true","orderable":"true","searchable":"true","cfid":"cf[10001]","operators":["=","!=","in","not in","is","is not"],"types":["com.atlassian.jira.issue.label.Label"]},{"value":"\"Epic Color\"","displayName":"Epic Color - cf[10123]","orderable":"true","searchable":"true","cfid":"cf[10123]","operators":["=","!=","in","not in","is","is not"],"types":["java.lang.String"]},{"value":"\"Epic Link\"","displayName":"Epic Link - cf[10120]","auto":"true","orderable":"true","searchable":"true","cfid":"cf[10120]","operators":["=","!=","in","not in","is","is not"],"types":["com.atlassian.jira.issue.Issue"]},{"value":"\"Epic Name\"","displayName":"Epic Name - cf[10122]","orderable":"true","searchable":"true","cfid":"cf[10122]","operators":["~","!~","=","!=","in","not in","is","is not"],"types":["java.lang.String"]},{"value":"\"Epic Status\"","displayName":"Epic Status - cf[10121]","auto":"true","orderable":"true","searchable":"true","cfid":"cf[10121]","operators":["=","!=","in","not in","is","is not"],"types":["com.atlassian.jira.issue.customfields.option.Option"]},{"value":"filter","displayName":"filter","auto":"true","searchable":"true","operators":["=","!=","in","not in"],"types":["com.atlassian.jira.issue.search.SearchRequest"]},{"value":"fixVersion","displayName":"fixVersion","auto":"true","orderable":"true","searchable":"true","operators":["<","is","was in","!=",">=","changed","was","was not","<=","was not in","=","is not","not in","in",">"],"types":["com.atlassian.jira.project.version.Version"]},{"value":"Flagged","displayName":"Flagged - cf[10000]","auto":"true","orderable":"true","searchable":"true","cfid":"cf[10000]","operators":["=","!=","in","not in","is","is not"],"types":["com.atlassian.jira.issue.customfields.option.Option"]},{"value":"id","displayName":"id","orderable":"true","searchable":"true","operators":["=","!=","in","not in","<","<=",">",">="],"types":["com.atlassian.jira.issue.Issue"]},{"value":"issue","displayName":"issue","orderable":"true","searchable":"true","operators":["=","!=","in","not in","<","<=",">",">="],"types":["com.atlassian.jira.issue.Issue"]},{"value":"issue.property","displayName":"issue.property","searchable":"true","operators":["=","!=","in","not in","<","<=",">",">=","~","!~","is","is not"],"types":["java.lang.Number","java.lang.String","java.util.Date"]},{"value":"issuekey","displayName":"issuekey","orderable":"true","searchable":"true","operators":["=","!=","in","not in","<","<=",">",">="],"types":["com.atlassian.jira.issue.Issue"]},{"value":"issuetype","displayName":"issuetype","auto":"true","orderable":"true","searchable":"true","operators":["=","!=","in","not in","is","is not"],"types":["com.atlassian.jira.issue.issuetype.IssueType"]},{"value":"key","displayName":"key","orderable":"true","searchable":"true","operators":["=","!=","in","not in","<","<=",">",">="],"types":["com.atlassian.jira.issue.Issue"]},{"value":"labels","displayName":"labels","auto":"true","orderable":"true","searchable":"true","operators":["=","!=","in","not in","is","is not"],"types":["com.atlassian.jira.issue.label.Label"]},{"value":"lastViewed","displayName":"lastViewed","orderable":"true","searchable":"true","operators":["=","!=","in","not in","is","is not","<","<=",">",">="],"types":["java.util.Date"]},{"value":"level","displayName":"level","auto":"true","orderable":"true","searchable":"true","operators":["=","!=","in","not in","is","is not"],"types":["com.atlassian.jira.issue.security.IssueSecurityLevel"]},{"value":"originalEstimate","displayName":"originalEstimate","orderable":"true","searchable":"true","operators":["=","!=","in","not in","is","is not","<","<=",">",">="],"types":["com.atlassian.jira.types.Duration"]},{"value":"parent","displayName":"parent","searchable":"true","operators":["=","!=","in","not in"],"types":["com.atlassian.jira.issue.Issue"]},{"value":"priority","displayName":"priority","auto":"true","orderable":"true","searchable":"true","operators":["<","is","was in","!=",">=","changed","was","was not","<=","was not in","=","is not","not in","in",">"],"types":["com.atlassian.jira.issue.priority.Priority"]},{"value":"progress","displayName":"progress","orderable":"true","operators":[],"types":["java.lang.Object"]},{"value":"project","displayName":"project","auto":"true","orderable":"true","searchable":"true","operators":["=","!=","in","not in","is","is not"],"types":["com.atlassian.jira.project.Project"]},{"value":"Rank","displayName":"Rank - cf[10220]","orderable":"true","searchable":"true","cfid":"cf[10220]","operators":["=","!=","in","not in","<","<=",">",">="],"types":["java.lang.String"]},{"value":"\"Release Version History\"","displayName":"Release Version History - cf[10010]","auto":"true","orderable":"true","searchable":"true","cfid":"cf[10010]","operators":["=","!=","in","not in","is","is not","<","<=",">",">="],"types":["com.atlassian.jira.project.version.Version"]},{"value":"remainingEstimate","displayName":"remainingEstimate","orderable":"true","searchable":"true","operators":["=","!=","in","not in","is","is not","<","<=",">",">="],"types":["com.atlassian.jira.types.Duration"]},{"value":"reporter","displayName":"reporter","auto":"true","orderable":"true","searchable":"true","operators":["is","was in","=","!=","is not","changed","not in","was","was not","in","was not in"],"types":["com.atlassian.jira.user.ApplicationUser"]},{"value":"request","displayName":"request","auto":"true","searchable":"true","operators":["=","!=","in","not in"],"types":["com.atlassian.jira.issue.search.SearchRequest"]},{"value":"resolution","displayName":"resolution","auto":"true","orderable":"true","searchable":"true","operators":["<","is","was in","!=",">=","changed","was","was not","<=","was not in","=","is not","not in","in",">"],"types":["com.atlassian.jira.issue.resolution.Resolution"]},{"value":"resolutiondate","displayName":"resolutiondate","orderable":"true","searchable":"true","operators":["=","!=","in","not in","is","is not","<","<=",">",">="],"types":["java.util.Date"]},{"value":"resolved","displayName":"resolved","orderable":"true","searchable":"true","operators":["=","!=","in","not in","is","is not","<","<=",">",">="],"types":["java.util.Date"]},{"value":"savedfilter","displayName":"savedfilter","auto":"true","searchable":"true","operators":["=","!=","in","not in"],"types":["com.atlassian.jira.issue.search.SearchRequest"]},{"value":"searchrequest","displayName":"searchrequest","auto":"true","searchable":"true","operators":["=","!=","in","not in"],"types":["com.atlassian.jira.issue.search.SearchRequest"]},{"value":"Sprint","displayName":"Sprint - cf[10021]","auto":"true","orderable":"true","searchable":"true","cfid":"cf[10021]","operators":["=","!=","in","not in","is","is not"],"types":["com.atlassian.greenhopper.service.sprint.Sprint"]},{"value":"status","displayName":"status","auto":"true","orderable":"true","searchable":"true","operators":["is","was in","=","!=","is not","changed","not in","was","was not","in","was not in"],"types":["com.atlassian.jira.issue.status.Status"]},{"value":"statusCategory","displayName":"statusCategory","auto":"true","searchable":"true","operators":["=","!=","in","not in"],"types":["com.atlassian.jira.issue.status.category.StatusCategory"]},{"value":"\"Story Points\"","displayName":"Story Points - cf[10003]","orderable":"true","searchable":"true","cfid":"cf[10003]","operators":["=","!=","in","not in","is","is not","<","<=",">",">="],"types":["java.lang.Number"]},{"value":"subtasks","displayName":"subtasks","orderable":"true","operators":[],"types":["java.lang.Object"]},{"value":"summary","displayName":"summary","orderable":"true","searchable":"true","operators":["~","!~","is","is not"],"types":["java.lang.String"]},{"value":"text","displayName":"text","searchable":"true","operators":["~"],"types":["java.lang.String"]},{"value":"timeestimate","displayName":"timeestimate","orderable":"true","searchable":"true","operators":["=","!=","in","not in","is","is not","<","<=",">",">="],"types":["com.atlassian.jira.types.Duration"]},{"value":"timeoriginalestimate","displayName":"timeoriginalestimate","orderable":"true","searchable":"true","operators":["=","!=","in","not in","is","is not","<","<=",">",">="],"types":["com.atlassian.jira.types.Duration"]},{"value":"timespent","displayName":"timespent","orderable":"true","searchable":"true","operators":["=","!=","in","not in","is","is not","<","<=",">",">="],"types":["com.atlassian.jira.types.Duration"]},{"value":"type","displayName":"type","auto":"true","orderable":"true","searchable":"true","operators":["=","!=","in","not in","is","is not"],"types":["com.atlassian.jira.issue.issuetype.IssueType"]},{"value":"updated","displayName":"updated","orderable":"true","searchable":"true","operators":["=","!=","in","not in","is","is not","<","<=",">",">="],"types":["java.util.Date"]},{"value":"updatedDate","displayName":"updatedDate","orderable":"true","searchable":"true","operators":["=","!=","in","not in","is","is not","<","<=",">",">="],"types":["java.util.Date"]},{"value":"voter","displayName":"voter","searchable":"true","operators":["=","!=","in","not in"],"types":["com.atlassian.jira.user.ApplicationUser"]},{"value":"votes","displayName":"votes","orderable":"true","searchable":"true","operators":["=","!=","in","not in","<","<=",">",">="],"types":["java.lang.Number"]},{"value":"watcher","displayName":"watcher","searchable":"true","operators":["=","!=","in","not in"],"types":["com.atlassian.jira.user.ApplicationUser"]},{"value":"watchers","displayName":"watchers","orderable":"true","searchable":"true","operators":["=","!=","in","not in","<","<=",">",">="],"types":["java.lang.Number"]},{"value":"worklogAuthor","displayName":"worklogAuthor","auto":"true","searchable":"true","operators":["=","!=","in","not in"],"types":["com.atlassian.jira.user.ApplicationUser"]},{"value":"worklogComment","displayName":"worklogComment","searchable":"true","operators":["~","!~","is","is not"],"types":["java.lang.String"]},{"value":"worklogDate","displayName":"worklogDate","searchable":"true","operators":["=","!=","in","not in","<","<=",">",">="],"types":["java.util.Date"]},{"value":"workratio","displayName":"workratio","orderable":"true","searchable":"true","operators":["=","!=","in","not in","is","is not","<","<=",">",">="],"types":["java.lang.Number"]}]
              [{"value":"cascadeOption(\"\")","displayName":"cascadeOption(\"\")","isList":"true","types":["com.atlassian.jira.issue.customfields.option.CascadingOption"]},{"value":"closedSprints()","displayName":"closedSprints()","isList":"true","types":["com.atlassian.greenhopper.service.sprint.Sprint"]},{"value":"componentsLeadByUser()","displayName":"componentsLeadByUser()","isList":"true","types":["com.atlassian.jira.bc.project.component.ProjectComponent"]},{"value":"currentLogin()","displayName":"currentLogin()","types":["java.util.Date"]},{"value":"earliestUnreleasedVersion()","displayName":"earliestUnreleasedVersion()","types":["com.atlassian.jira.project.version.Version"]},{"value":"endOfDay()","displayName":"endOfDay()","types":["java.util.Date"]},{"value":"endOfMonth()","displayName":"endOfMonth()","types":["java.util.Date"]},{"value":"endOfWeek()","displayName":"endOfWeek()","types":["java.util.Date"]},{"value":"endOfYear()","displayName":"endOfYear()","types":["java.util.Date"]},{"value":"futureSprints()","displayName":"futureSprints()","isList":"true","types":["com.atlassian.greenhopper.service.sprint.Sprint"]},{"value":"issueHistory()","displayName":"issueHistory()","isList":"true","types":["com.atlassian.jira.issue.Issue"]},{"value":"issuesWithRemoteLinksByGlobalId(\"\")","displayName":"issuesWithRemoteLinksByGlobalId(\"\")","isList":"true","types":["com.atlassian.jira.issue.Issue"]},{"value":"lastLogin()","displayName":"lastLogin()","types":["java.util.Date"]},{"value":"latestReleasedVersion()","displayName":"latestReleasedVersion()","types":["com.atlassian.jira.project.version.Version"]},{"value":"linkedIssues(\"\")","displayName":"linkedIssues(\"\")","isList":"true","types":["com.atlassian.jira.issue.Issue"]},{"value":"membersOf(\"\")","displayName":"membersOf(\"\")","isList":"true","types":["com.atlassian.jira.user.ApplicationUser"]},{"value":"now()","displayName":"now()","types":["java.util.Date"]},{"value":"openSprints()","displayName":"openSprints()","isList":"true","types":["com.atlassian.greenhopper.service.sprint.Sprint"]},{"value":"projectsLeadByUser()","displayName":"projectsLeadByUser()","isList":"true","types":["com.atlassian.jira.project.Project"]},{"value":"projectsWhereUserHasPermission(\"\")","displayName":"projectsWhereUserHasPermission(\"\")","isList":"true","types":["com.atlassian.jira.project.Project"]},{"value":"projectsWhereUserHasRole(\"\")","displayName":"projectsWhereUserHasRole(\"\")","isList":"true","types":["com.atlassian.jira.project.Project"]},{"value":"releasedVersions()","displayName":"releasedVersions()","isList":"true","types":["com.atlassian.jira.project.version.Version"]},{"value":"standardIssueTypes()","displayName":"standardIssueTypes()","isList":"true","types":["com.atlassian.jira.issue.issuetype.IssueType"]},{"value":"startOfDay()","displayName":"startOfDay()","types":["java.util.Date"]},{"value":"startOfMonth()","displayName":"startOfMonth()","types":["java.util.Date"]},{"value":"startOfWeek()","displayName":"startOfWeek()","types":["java.util.Date"]},{"value":"startOfYear()","displayName":"startOfYear()","types":["java.util.Date"]},{"value":"subTaskIssueTypes()","displayName":"subTaskIssueTypes()","isList":"true","types":["com.atlassian.jira.issue.issuetype.IssueType"]},{"value":"unreleasedVersions()","displayName":"unreleasedVersions()","isList":"true","types":["com.atlassian.jira.project.version.Version"]},{"value":"votedIssues()","displayName":"votedIssues()","isList":"true","types":["com.atlassian.jira.issue.Issue"]},{"value":"watchedIssues()","displayName":"watchedIssues()","isList":"true","types":["com.atlassian.jira.issue.Issue"]}]
              ["explain","select","isnull","commit","isempty","when","rowid","output","number","character","identified","sqrt","delimiter","else","exclusive","lock","catch","join","strict","greater","if","between","order","having","in","byte","double","subtract","outer","index","raw","is","then","execute","input","as","defaults","field","size","left","unique","difference","returns","begin","modulo","object","trans","minus","access","increment","sum","long","into","uid","current","default","file","goto","min","audit","by","share","where","after","power","escape","connect","noaudit","table","validate","cf","set","break","initial","max","more","column","right","trigger","union","asc","rename","decrement","equals","fetch","char","exists","notin","to","first","return","transaction","checkpoint","date","privileges","declare","before","do","integer","float","while","empty","mode","view","whenever","prior","continue","function","intersection","limit","raise","create","from","collation","alter","group","add","all","last","like","resource","count","check","less","encoding","inner","rownum","collate","null","abort","immediate","true","decimal","exec","nowait","changed","desc","option","drop","next","string","session","values","for","distinct","insert","revoke","update","delete","not","synonym","avg","public","and","of","define","alias","divide","end","row","multiply","on","or","intersect","previous","false","go","start","was","rows","any","int","modify","with","inout","boolean","grant","remainder","user"]
              {"searchers":{"groups":[{"searchers":[{"name":"Project","id":"project","key":"issue.field.project","isShown":true,"lastViewed":1747128483766},{"name":"Summary","id":"summary","key":"issue.field.summary","isShown":true},{"name":"Type","id":"issuetype","key":"issue.field.issuetype","isShown":true,"lastViewed":1747128483766},{"name":"Status","id":"status","key":"issue.field.status","isShown":true,"lastViewed":1747128483768},{"name":"Priority","id":"priority","key":"issue.field.priority","isShown":true},{"name":"Resolution","id":"resolution","key":"issue.field.resolution","isShown":true},{"name":"Creator","id":"creator","key":"issue.field.creator","isShown":true},{"name":"Affects Version","id":"version","key":"issue.field.affectsversions","isShown":true},{"name":"Fix Version","id":"fixfor","key":"issue.field.fixversions","isShown":true},{"name":"Component","id":"component","key":"issue.field.components","isShown":true,"lastViewed":1747128483770},{"name":"% Limits","id":"workratio","key":"issue.field.workratio","isShown":true},{"name":"Environment","id":"environment","key":"issue.field.environment","isShown":true},{"name":"Description","id":"description","key":"issue.field.description","isShown":true},{"name":"Comment","id":"comment","key":"issue.field.comment","isShown":true},{"name":"Label","id":"labels","key":"issue.field.labels","isShown":true},{"name":"Query","id":"text","key":"text","isShown":true},{"name":"Business Value","id":"customfield_10004","key":"com.atlassian.jira.plugin.system.customfieldtypes:float","isShown":false},{"name":"Epic Color","id":"customfield_10123","key":"com.pyxis.greenhopper.jira:gh-epic-color","isShown":false},{"name":"Epic Link","id":"customfield_10120","key":"com.pyxis.greenhopper.jira:gh-epic-link","isShown":true},{"name":"Epic Name","id":"customfield_10122","key":"com.pyxis.greenhopper.jira:gh-epic-label","isShown":true},{"name":"Epic Status","id":"customfield_10121","key":"com.pyxis.greenhopper.jira:gh-epic-status","isShown":false},{"name":"Epic/Theme","id":"customfield_10001","key":"com.atlassian.jira.plugin.system.customfieldtypes:labels","isShown":true},{"name":"Flagged","id":"customfield_10000","key":"com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes","isShown":true},{"name":"Rank","id":"customfield_10220","key":"com.pyxis.greenhopper.jira:gh-lexo-rank","isShown":true},{"name":"Rank (Obsolete)","id":"customfield_10002","key":"com.atlassian.jira.plugin.system.customfieldtypes:float","isShown":false},{"name":"Release Version History","id":"customfield_10010","key":"com.pyxis.greenhopper.jira:greenhopper-releasedmultiversionhistory","isShown":true},{"name":"Sprint","id":"customfield_10021","key":"com.pyxis.greenhopper.jira:gh-sprint","isShown":true},{"name":"Story Points","id":"customfield_10003","key":"com.atlassian.jira.plugin.system.customfieldtypes:float","isShown":false}],"type":"DETAILS","title":"Details"},{"searchers":[{"name":"Created Date","id":"created","key":"issue.field.created","isShown":true},{"name":"Updated Date","id":"updated","key":"issue.field.updated","isShown":true},{"name":"Resolution Date","id":"resolutiondate","key":"issue.field.resolution.date","isShown":true},{"name":"Due Date","id":"duedate","key":"issue.field.duedate","isShown":true}],"type":"DATES","title":"Dates"},{"searchers":[{"name":"Assignee","id":"assignee","key":"issue.field.assignee","isShown":true,"lastViewed":1747128483769},{"name":"Reporter","id":"reporter","key":"issue.field.reporter","isShown":true}],"type":"PEOPLE","title":"People"}]},"values":{"issuetype":{"name":"Type","editHtml":"\n\n\n\n <div class=\"field-group aui-field-issuetype\" >\n <label for=\"searcher-type\">Type</label>\n <select class=\"select js-default-checkboxmultiselect\" id=\"searcher-type\" multiple=\"multiple\" name=\"type\"\n data-placeholder-text=\"Find Issue Types...\" size=\"5\">\n <optgroup>\n \n <option class=\" \"\n id=\"type_-2\"\n title=\"All Standard Issue Types\"\n value=\"-2\">All Standard Issue Types</option>\n \n <option class=\" \"\n id=\"type_-3\"\n title=\"All Sub-Task Issue Types\"\n value=\"-3\">All Sub-Task Issue Types</option>\n </optgroup>\n\n <optgroup label=\"Standard Issue Types\">\n \n <option class=\" imagebacked 10000 \"\n data-icon=\"/secure/viewavatar?size=xsmall&amp;avatarId=10643&amp;avatarType=issuetype\"\n data-fallback-icon=\"/images/icons/issuetypes/blank.png\"\n id=\"type_1\"\n title=\"Bug\"\n value=\"1\">Bug</option>\n \n <option class=\" imagebacked 10000 \"\n data-icon=\"/images/icons/issuetypes/epic.png\"\n data-fallback-icon=\"/images/icons/issuetypes/blank.png\"\n id=\"type_6\"\n title=\"Epic\"\n value=\"6\">Epic</option>\n \n <option class=\" imagebacked 10000 \"\n data-icon=\"/secure/viewavatar?size=xsmall&amp;avatarId=10650&amp;avatarType=issuetype\"\n data-fallback-icon=\"/images/icons/issuetypes/blank.png\"\n id=\"type_4\"\n title=\"Improvement\"\n value=\"4\">Improvement</option>\n \n <option class=\" imagebacked 10000 \"\n data-icon=\"/secure/viewavatar?size=xsmall&amp;avatarId=10651&amp;avatarType=issuetype\"\n data-fallback-icon=\"/images/icons/issuetypes/blank.png\"\n id=\"type_2\"\n title=\"New Feature\"\n value=\"2\">New Feature</option>\n \n <option class=\" imagebacked 10000 \"\n data-icon=\"/secure/viewavatar?size=xsmall&amp;avatarId=10640&amp;avatarType=issuetype\"\n data-fallback-icon=\"/images/icons/issuetypes/blank.png\"\n id=\"type_10000\"\n title=\"Pull Request\"\n value=\"10000\">Pull Request</option>\n \n <option class=\" imagebacked 10000 \"\n data-icon=\"/secure/viewavatar?size=xsmall&amp;avatarId=10655&amp;avatarType=issuetype\"\n data-fallback-icon=\"/images/icons/issuetypes/blank.png\"\n id=\"type_7\"\n title=\"Story\"\n value=\"7\">Story</option>\n \n <option class=\" imagebacked 10000 \"\n data-icon=\"/secure/viewavatar?size=xsmall&amp;avatarId=10658&amp;avatarType=issuetype\"\n data-fallback-icon=\"/images/icons/issuetypes/blank.png\"\n id=\"type_3\"\n title=\"Task\"\n value=\"3\">Task</option>\n </optgroup>\n\n <optgroup label=\"Sub-Task Issue Types\">\n \n <option class=\" imagebacked 10000 \"\n data-icon=\"/secure/viewavatar?size=xsmall&amp;avatarId=10656&amp;avatarType=issuetype\"\n data-fallback-icon=\"/images/icons/issuetypes/blank.png\"\n id=\"type_5\"\n title=\"Sub-task\"\n value=\"5\">Sub-task</option>\n \n <option class=\" imagebacked 10000 \"\n data-icon=\"/images/icons/issuetypes/task_agile.png\"\n data-fallback-icon=\"/images/icons/issuetypes/blank.png\"\n id=\"type_8\"\n title=\"Technical task\"\n value=\"8\">Technical task</option>\n </optgroup>\n </select>\n </div>\n ","validSearcher":true,"isShown":true},"component":{"name":"Component","viewHtml":" <div class=\"searcherValue\">\n \n <label class=\"fieldLabel\" for=\"fieldcomponent\">Component:</label><span id=\"fieldcomponent\" class=\"fieldValue\">\n \n o.c.jsword.book.sword </span></div>\n","editHtml":"\n <div class=\"field-group aui-field-projectconstant\" >\n <label for=\"searcher-component\">Component</label>\n <select class=\"select js-default-checkboxmultiselect\" id=\"searcher-component\" multiple=\"multiple\" name=\"component\" size=\"2\">\n <optgroup label=\"\">\n <option value=\"-1\" title=\"No Component\">No Component</option>\n </optgroup>\n <optgroup label=\"\">\n <option value=\"id:build\" title=\"build\">build</option>\n <option value=\"id:i18n - Translation\" title=\"i18n - Translation\">i18n - Translation</option>\n <option value=\"id:o.c.common.activate\" title=\"o.c.common.activate\">o.c.common.activate</option>\n <option value=\"id:o.c.common.compress\" title=\"o.c.common.compress\">o.c.common.compress</option>\n <option value=\"id:o.c.common.config\" title=\"o.c.common.config\">o.c.common.config</option>\n <option value=\"id:o.c.common.crypt\" title=\"o.c.common.crypt\">o.c.common.crypt</option>\n <option value=\"id:o.c.common.diff\" title=\"o.c.common.diff\">o.c.common.diff</option>\n <option value=\"id:o.c.common.history\" title=\"o.c.common.history\">o.c.common.history</option>\n <option value=\"id:o.c.common.icu\" title=\"o.c.common.icu\">o.c.common.icu</option>\n <option value=\"id:o.c.common.options\" title=\"o.c.common.options\">o.c.common.options</option>\n <option value=\"id:o.c.common.progress\" title=\"o.c.common.progress\">o.c.common.progress</option>\n <option value=\"id:o.c.common.util\" title=\"o.c.common.util\">o.c.common.util</option>\n <option value=\"id:o.c.common.xml\" title=\"o.c.common.xml\">o.c.common.xml</option>\n <option value=\"id:o.c.jsword.book\" title=\"o.c.jsword.book\">o.c.jsword.book</option>\n <option value=\"id:o.c.jsword.book.filter.gbf\" title=\"o.c.jsword.book.filter.gbf\">o.c.jsword.book.filter.gbf</option>\n <option value=\"id:o.c.jsword.book.filter.osis\" title=\"o.c.jsword.book.filter.osis\">o.c.jsword.book.filter.osis</option>\n <option value=\"id:o.c.jsword.book.filter.plaintext\" title=\"o.c.jsword.book.filter.plaintext\">o.c.jsword.book.filter.plaintext</option>\n <option value=\"id:o.c.jsword.book.filter.thml\" title=\"o.c.jsword.book.filter.thml\">o.c.jsword.book.filter.thml</option>\n <option value=\"id:o.c.jsword.book.install\" title=\"o.c.jsword.book.install\">o.c.jsword.book.install</option>\n <option value=\"id:o.c.jsword.book.readings\" title=\"o.c.jsword.book.readings\">o.c.jsword.book.readings</option>\n <option value=\"id:o.c.jsword.book.study\" title=\"o.c.jsword.book.study\">o.c.jsword.book.study</option>\n <option selected=\"selected\" value=\"id:o.c.jsword.book.sword\" title=\"o.c.jsword.book.sword\">o.c.jsword.book.sword</option>\n <option value=\"id:o.c.jsword.index\" title=\"o.c.jsword.index\">o.c.jsword.index</option>\n <option value=\"id:o.c.jsword.passage\" title=\"o.c.jsword.passage\">o.c.jsword.passage</option>\n <option value=\"id:o.c.jsword.util\" title=\"o.c.jsword.util\">o.c.jsword.util</option>\n <option value=\"id:o.c.jsword.versification\" title=\"o.c.jsword.versification\">o.c.jsword.versification</option>\n </optgroup>\n </select>\n </div>\n ","jql":"component = o.c.jsword.book.sword","validSearcher":true,"isShown":true},"project":{"name":"Project","viewHtml":" <div class=\"searcherValue\">\n \n <label class=\"fieldLabel\" for=\"fieldpid\">Project:</label><span id=\"fieldpid\" class=\"fieldValue\">\n \n <a href=\"/browse/JS\" title=\"Browse JSword project\">JSword</a> </span></div>\n","editHtml":"\n <div class=\"field-group aui-field-project\" >\n <label for=\"searcher-pid\">Project</label>\n \n\n <select class=\"select js-default-checkboxmultiselect\" data-placeholder-text=\"Find Projects...\" id=\"searcher-pid\" multiple=\"multiple\" name=\"pid\" size=\"5\">\n <optgroup label=\"Recent Projects\">\n \n <option data-icon=\"/secure/projectavatar?pid=10001&size=small\"\n selected=\"selected\" title=\"JSword\"\n value=\"10001\">\n JSword (JS)\n </option>\n </optgroup>\n <optgroup label=\"All Projects\">\n \n <option data-icon=\"/secure/projectavatar?pid=10000&size=small\"\n title=\"Bible Desktop\"\n value=\"10000\">\n Bible Desktop (BD)\n </option>\n \n <option data-icon=\"/secure/projectavatar?pid=10004&size=small\"\n title=\"BibleCS\"\n value=\"10004\">\n BibleCS (BCS)\n </option>\n \n <option data-icon=\"/secure/projectavatar?pid=10010&size=small\"\n title=\"Eloquent\"\n value=\"10010\">\n Eloquent (MACSW)\n </option>\n \n <option data-icon=\"/secure/projectavatar?pid=10050&size=small\"\n title=\"Eloquent for iPad\"\n value=\"10050\">\n Eloquent for iPad (ELOIPAD)\n </option>\n \n <option data-icon=\"/secure/projectavatar?pid=10003&size=small\"\n title=\"Flashcards\"\n value=\"10003\">\n Flashcards (FC)\n </option>\n \n <option data-icon=\"/secure/projectavatar?pid=10001&size=small\"\n selected=\"selected\" title=\"JSword\"\n value=\"10001\">\n JSword (JS)\n </option>\n \n <option data-icon=\"/secure/projectavatar?pid=10160&size=small\"\n title=\"Module Tools\"\n value=\"10160\">\n Module Tools (MODTOOLS)\n </option>\n \n <option data-icon=\"/secure/projectavatar?pid=10011&size=small\"\n title=\"Modules\"\n value=\"10011\">\n Modules (MOD)\n </option>\n \n <option data-icon=\"/secure/projectavatar?pid=10030&size=small\"\n title=\"PocketSword\"\n value=\"10030\">\n PocketSword (PS)\n </option>\n \n <option data-icon=\"/secure/projectavatar?pid=10006&size=small\"\n title=\"QPSword\"\n value=\"10006\">\n QPSword (QPS)\n </option>\n \n <option data-icon=\"/secure/projectavatar?pid=10005&size=small\"\n title=\"SWORD\"\n value=\"10005\">\n SWORD (API)\n </option>\n \n <option data-icon=\"/secure/projectavatar?pid=10007&size=small\"\n title=\"SwordReader\"\n value=\"10007\">\n SwordReader (SR)\n </option>\n \n <option data-icon=\"/secure/projectavatar?pid=10008&size=small\"\n title=\"SwordWeb\"\n value=\"10008\">\n SwordWeb (SWEB)\n </option>\n \n <option data-icon=\"/secure/projectavatar?pid=10040&size=small\"\n title=\"Tyndale STEP\"\n value=\"10040\">\n Tyndale STEP (TYNSTEP)\n </option>\n \n <option data-icon=\"/secure/projectavatar?pid=10060&size=small\"\n title=\"Virtual Manuscript Room Collaborative Research Environment\"\n value=\"10060\">\n Virtual Manuscript Room Collaborative Research Environment (VMRCRE)\n </option>\n \n <option data-icon=\"/secure/projectavatar?pid=10020&size=small\"\n title=\"Website Prose\"\n value=\"10020\">\n Website Prose (PROS)\n </option>\n </optgroup>\n </select>\n </div>\n \n","jql":"project = JS","validSearcher":true,"isShown":true},"assignee":{"name":"Assignee","editHtml":"\n \n <div class=\"field-group aui-field-userlist\" >\n <label for=\"searcher-assigneeSelect\">Assignee</label>\n <fieldset rel=\"assignee\" class=\"hidden user-group-searcher-params\">\n </fieldset>\n <select class=\"js-usergroup-checkboxmultiselect\" multiple=\"multiple\" id=\"assignee\" name=\"assignee\" data-placeholder-text=\"Enter username or group\">\n <optgroup>\n <option class=\"headerOption\" data-icon=\"http://jira.crosswire.org/secure/useravatar?size=xsmall&avatarId=10063\" value=\"empty\" title=\"Unassigned\">Unassigned</option>\n </optgroup>\n <optgroup>\n </optgroup>\n </select>\n <input type=\"hidden\" name=\"check_prev_assignee\" value=\"true\">\n </div>\n \n","validSearcher":true,"isShown":true},"status":{"name":"Status","editHtml":"\n <div class=\"field-group aui-field-constants\" >\n <label for=\"searcher-status\">Status</label>\n \n <select class=\"select js-default-checkboxmultiselectstatuslozenge\" data-placeholder-text=\"Find Statuses...\" id=\"searcher-status\" multiple=\"multiple\" name=\"status\" size=\"4\" data-status-lozenge=\"true\">\n <option class=\"imagebacked\" data-icon=\"/images/icons/statuses/open.png\" value=\"1\" title=\"Open\" data-simple-status=\"{&quot;id&quot;:&quot;1&quot;,&quot;name&quot;:&quot;Open&quot;,&quot;description&quot;:&quot;The issue is open and ready for the assignee to start work on it.&quot;,&quot;iconUrl&quot;:&quot;/images/icons/statuses/open.png&quot;,&quot;statusCategory&quot;:{&quot;id&quot;:2,&quot;key&quot;:&quot;new&quot;,&quot;colorName&quot;:&quot;blue-gray&quot;}}\">Open</option>\n <option class=\"imagebacked\" data-icon=\"/images/icons/statuses/inprogress.png\" value=\"3\" title=\"In Progress\" data-simple-status=\"{&quot;id&quot;:&quot;3&quot;,&quot;name&quot;:&quot;In Progress&quot;,&quot;description&quot;:&quot;This issue is being actively worked on at the moment by the assignee.&quot;,&quot;iconUrl&quot;:&quot;/images/icons/statuses/inprogress.png&quot;,&quot;statusCategory&quot;:{&quot;id&quot;:4,&quot;key&quot;:&quot;indeterminate&quot;,&quot;colorName&quot;:&quot;yellow&quot;}}\">In Progress</option>\n <option class=\"imagebacked\" data-icon=\"/images/icons/statuses/reopened.png\" value=\"4\" title=\"Reopened\" data-simple-status=\"{&quot;id&quot;:&quot;4&quot;,&quot;name&quot;:&quot;Reopened&quot;,&quot;description&quot;:&quot;This issue was once resolved, but the resolution was deemed incorrect. From here issues are either marked assigned or resolved.&quot;,&quot;iconUrl&quot;:&quot;/images/icons/statuses/reopened.png&quot;,&quot;statusCategory&quot;:{&quot;id&quot;:2,&quot;key&quot;:&quot;new&quot;,&quot;colorName&quot;:&quot;blue-gray&quot;}}\">Reopened</option>\n <option class=\"imagebacked\" data-icon=\"/images/icons/statuses/resolved.png\" value=\"5\" title=\"Resolved\" data-simple-status=\"{&quot;id&quot;:&quot;5&quot;,&quot;name&quot;:&quot;Resolved&quot;,&quot;description&quot;:&quot;A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.&quot;,&quot;iconUrl&quot;:&quot;/images/icons/statuses/resolved.png&quot;,&quot;statusCategory&quot;:{&quot;id&quot;:3,&quot;key&quot;:&quot;done&quot;,&quot;colorName&quot;:&quot;green&quot;}}\">Resolved</option>\n <option class=\"imagebacked\" data-icon=\"/images/icons/statuses/closed.png\" value=\"6\" title=\"Closed\" data-simple-status=\"{&quot;id&quot;:&quot;6&quot;,&quot;name&quot;:&quot;Closed&quot;,&quot;description&quot;:&quot;The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.&quot;,&quot;iconUrl&quot;:&quot;/images/icons/statuses/closed.png&quot;,&quot;statusCategory&quot;:{&quot;id&quot;:3,&quot;key&quot;:&quot;done&quot;,&quot;colorName&quot;:&quot;green&quot;}}\">Closed</option>\n </select>\n </div>\n \n","validSearcher":true,"isShown":true}}}
              [{"id":-1,"name":"My open issues","jql":"assignee = currentUser() AND resolution = Unresolved order by updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":true},{"id":-2,"name":"Reported by me","jql":"reporter = currentUser() order by created DESC","isSystem":true,"sharePermissions":[],"requiresLogin":true},{"id":-4,"name":"All issues","jql":"order by created DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-5,"name":"Open issues","jql":"resolution = Unresolved order by priority DESC,updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-9,"name":"Done issues","jql":"statusCategory = Done order by updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-3,"name":"Viewed recently","jql":"issuekey in issueHistory() order by lastViewed DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-6,"name":"Created recently","jql":"created >= -1w order by created DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-7,"name":"Resolved recently","jql":"resolutiondate >= -1w order by updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-8,"name":"Updated recently","jql":"updated >= -1w order by updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false}]
              • Atlassian JIRA Project Management Software (v7.7.0#77001-sha1:3be3151)
              • About JIRA
              • Report a problem
              • Powered by a free Atlassian JIRA open source license for Sword / Crosswire. Try JIRA - bug tracking software for your team.
              Atlassian