...
Validate integration tests again
PG: Small finishing items
- Inferred/Stated button not working properly for SNOMED (e.g. "description logic terminology")
- Tooltips for some things not working in SNOMED (e.g. rel, attribute nmae, etc)
siblings/children in a hierarchy should have a default sort order (e.g. alphabetical). Try looking up "botulism" in snomed.terminology.tools, it looks random.
Advanced searching icon having issues - can't click it because of uib-tooltip
Once "appConfig.js" exists ,we can stop filtering footer/header, etc and instead inject the appConfig object into those controllers and just make scope variables for what shows up.
DONE (BAC): Bring "guest "user stuff over from refset
- see services.js and also SecurityServiceJpa.
Implement expression searching based on ECL
- Replace the "search criteria" mechanism with this.
- Identify as a search by parsing and confirming it matches.
- Build SQL or lucene queries from ECL.
- See Kai's project on github: https://github.com/IHTSDO/snomed-query-service
- Also show expressions (like diagrams) for a concept's de
Compute preferred name enhancements
- support all modes, including multiple meta
- tie to user preferences.
Put all route provider back in routes.js (PG)
- Algorithm -> LoaderAlgorithm
- SourceDataLoaderAlgorithm (interface)
Review overhaul of loader architecture
- Employ a consistent handleLazyIniti strategy
- enforce this at release time (add to wiki)
- public handleLazyInit(...)
- ContentService doesn't need it because of "graph resolver" which is entirely responsible for content objects.
- applies to "source data" and "project" and "metadata" services.
- Normalize use of sortable tables across the application (search in content, admin service tables) - use ng-table
- Enabling "cancel"/progress of loaders
- RrfLoaderAlgorithm (can implement at abstract loader algorithm level)
- cancel() should set a cancelFlag to true
- commit/log statements should check the cancel flag and throw a CancelException
- Add CancelException
- Change content service
- Add "precondition" checking to loaders (Algorithm)
- Put all loader logic into "compute" -> e.g. "open readers", "sort files", etc.
- Source Data Loader
- have try/catch
- support "background" parameter
- add cancelLoad(...)
- load -> processId
- getRunningProcesses(...)
- Put a ticket on wiki to rewire mojos from content service to sourcedataLoaderService (then remove from content service the load methods
- BUG Terminology Removerdoes not correctly handle mapsets
Cannot delete or update a parent row: a foreign key constraint fails (`umlsminidb`.`mapsets_attributes`, CONSTRAINT `FK_a1tfp35h17fsbdl07p9xeex2h` FOREIGN KEY (`attributes_id`) REFERENCES `attributes` (`id`))
- RrfLoaderAlgorithm (can implement at abstract loader algorithm level)
- Finall <i> within <a> and remove the <a> - e.g. atoms directive
- DSS: Bring over logging stuff from refset
- objects - LogEntry, LogEntryJpa
- Add terminology, version,
- activity -> LogActivity.LOADER, RELEASE, EDITING
- RootServiceJpa methods
- RootServiceRestImpl methods
- getLog REST API call from ProjectService
- keep existing method
- add one with: instead of "projectId": and "objectId" take "terminology" , "version", and "activity"
- think about what should add log entries (e.g. loaders, terminology removers)
- idea; anything that changes the db.
- addLogEntry statements ONLY go in RestImpl layer. (and maybe the algorithms)
- Put logging statements for loaders - e.g. Rf2SnapshotLoaderAlgorithm
- Add three local methods
- commitClearBegin(...., terminology, version, activity)
- super.commitClearBegin(...)
if (objectCt % logCt == 0) {
addLogEntry...
}
- logAndCommit(...., terminology, version, activity)
- super.logAndCommit(...)
if (objectCt % logCt == 0) {
addLogEntry...
}
- logInfo(message , terminology, version, activity) - also for warn/error, but add the word "WARNING: " or "ERROR: " to the message
- Change all Logger.getLogger(...).info(...) to logInfo(...) calls
- addLogEnry(...) = use "loader" as username
- also Logger.getLogger(...).info(... )
- commitClearBegin(...., terminology, version, activity)
- Add three local methods
- objects - LogEntry, LogEntryJpa
- DONE PG: redo header/footer - controllers. (like refset tool)
- PG: Implement Diagramming
- model transformation
- Show ONLY for "description logic terminology"
- PG DONE Add features for "deep" relationships when browsing UMLS.
- it is definitely only for "concept" and for "metathesaurus" content
- Add new section to concept report (e.g. "Deep relationships")
- REMAINING: Update integration tests with actual filter values (currently only tests null values)
- Enhancements to RRF preferred name computer
- support multiple UMLS's - e.g. have a high-level terminology/version
- reuse the same default precedence list.
- DONE PG: Use directives for reports
- DONE Component Report
- treeComponent
- semanticTypes
- definitions
- atoms
- attributes
- subsets
- relationships
- deep relationships
- TODO Relationships and deep relationships are not using callback functions, fix this
- DONE Search Result Tree directive
- DONE Component Report
- DONE PG Fixed Infinite cycle digest errors on uib-tooltip-html for refset labels in tree search results (extension highlighting)
- DSS; Project/User/UserPrefs stuff
- User
- Application role
- user preferences
- projectRoleMap (e.g. and project role map adapter)
- Project
- Remove "leads", "authors", "administrators"
- remove "scope" stuff
- Remove actionWorkflowStatusValues
- userRoleMap (and userRoleMapAdapter)
- Bring over UserRole from Refset -> replace term server stuff
- Align Security Service Rest (and Jpa)
- Bring over methods from refset that are missing
- Reconcile differences in the implementation methods.
- ProjectService Rest (and Jpa)
- Remove the scope concept calculation
- Add stuff about user/project (assign,unassign,find...)
- next step: add an "Admin" tab.
- basically borrow from refset and make work for this project.
- User
- PG Use route params to dynamically load a "report" (and be able to bookmark URLs)
- DONE Implement routing for terminologyId/terminology/version/type so we can preserve URLs. can even include ?query=... for the query
- CANCELLED Also clean up the way routes work first so we have
- https://umls.terminology.tools/content
- instead of
- This is likely related to the starting URL redirected to https://umls.terminology.tools/#/
- See http://stackoverflow.com/questions/14319967/angularjs-routing-without-the-hash
- e.g. https://umls.terminology.tools/content/CUI/SNOMEDCT/2015_01_31/12738006
- CANCELLED Also clean up the way routes work first so we have
- DONE Implement routing for terminologyId/terminology/version/type so we can preserve URLs. can even include ?query=... for the query
- DONE Support opening a concept in a new window (e.g. there's a pointing off arrow icon that opens a new window with a routing URL that shows exactly that concept - then drag/drop between windows can be editing mechanism).
- https://umls.terminology.tools/content/simple/cui/SNOMEDCT/2015_01_31/12738006
- Improvement: Fix header offset in simple report
- User Preferences stuff
- Bring over model from Refset tool.
- Add "last query" (e.g. "brain" and whether it's "list" or "tree" mode).
- Add "last report" (e.g. type/ui/terminology/version)
- Remove "void addXXX" and "void removeXXX" methods from model objects. Use getObjects().add/remove(...) only
- e.g. AtomClass doesn't need addAtom or removeAtom
- Rewire any uses of them
- "addXXX" -> "getXXX().add"
- "removeXXX" -> "getXXX().remove"
- same if there is "clear"
- DONE Show concept and atom-level subset information (e.g. language refset entires in SNOMED. may require a change to the graph resolver).
- DefaultGraphResolver now resolves subset members for both Atom and Concept
- Confirm that Descriptor and Code are not intended to have subset members
- Needs testing to confirm UI display ok
- Migration of upload and loading and removal of sources from transformer to term server
- Separate tabCtl, tabService
- Get all workgin,
- Then configure/use in the Starter kit
...