License Searching speclet - OLE 33 - Jira

homelybrrrInternet και Εφαρμογές Web

4 Δεκ 2013 (πριν από 3 χρόνια και 8 μήνες)

100 εμφανίσεις

License Searching


We anticipate that license searching will be part of the 0.8 release, at least in some form. More
complex reporting functionality will likely not be implemented until later, perhaps even past the
1.5 release.


Mockups:
https
://
docs
.
google
.
com
/
a
/
kuali
.
org
/
file
/
d
/0
BwAWPR
_
yMXUsRXlrMk
5
obW
42
YlE
/
edit



Licenses in OLE are being stored as docsto
re documents, as opposed to database records or
workflow documents. We propose a mechanism for searching licenses that parallels tools in
place to search other docstore documents, such as bibliographic records. Using a Solr
-
like
searching mechanism with fa
ceted searching ‘built
-
in’ might be able to make certain kinds of
desirable filtering almost automatic.


Although this specification describes a faceted searching approach that could be used to enable
the desired search functionality, similar functionality

could be achieved through an advanced
search type interface with drop
-
downs for metadata fields and terms. The Licensing Spec Team
does not prefer one implementation over another. HTC can make a technical call about whether
the functionality is easier to
implement as facets or as an advanced search. Please use the
remainder of this document as a guideline for the general searchability that is desired.


Searching




Ability to search across all text of recorded terms and metadata in a license document in
a ge
neric keyword
-
type search.



Greatly desirable to be able to include text of attached documents in this search, even
though this may not be available in 0.8 due to difficulty of OCR of attached documents.



Ability to search certain named fields specifically w
hen desired. Where appropriate, this
type of lookup form should allow multiple fields to be searched, and to lookup entities in
OLE rather than typing in text. Search by:



License title



Contract number



licensee (organization)



licensor (organization)



licens
e negotiator licensee (user)



license negotiator licensor (user)



resource title (if this is technically feasible)



Would like to be able to full
-
text search within a single Agreement text and any
attachments from that Agreement’s page, although this is not c
ritical for 0.8.


Searching use cases




Need to be able to go from Journal X and get to license (if my role has permission to see
the license).



Need to be able to go from Organization Y and see ALL related licenses.



Although this could be implemented by sea
rching OLE first for the organization /
resources and linking from there to the license (functionality which will likely be required
in Lookup License Terms functional specification), it would also be helpful to be able to
search for ‘Wiley’ and some free
text within the licensing module itself.


Facet
-
type filtering


Terms recorded for licenses include a significant amount of structured metadata. In addition to
being able to search across free
-
text terms, licensing staff also need to be able to filter li
censes
to determine which licenses have which terms, and which licenses have certain controlled
vocabulary in which terms. This is complicated to imagine programming into a database
-
based
search engine, but might be more feasible to pilot using a facet
-
bas
ed approach. A faceted
-
based approach would also allow combining text searching and filtering (for example
-

all
licenses negotiated by Emily that are currently active).


There are a number of controlled vocabulary fields it would be quite easy to filter/f
acet on:



Agreement status (active, inactive, etc.)



Agreement method (negotiated license, click
-
thru, SERU, copyright, shrinkwrap)



Agreement type (supplemental, trial, regular)



Agreement Start Date



Agreement End Date



Agreement Renewal Date (this is a comput
ed field derived from the Agreement End
Date, subtracting the notice period for termination, if any)



Agreement Execution Date



Authorized User


We would also like to be able to filter / search on the presence of any ONIX
-
PL term in a
license, and by the con
trolled vocabulary within that term, where it exists. I can imagine a facet
-
based interface with a facet for each of the major ONIX term groupings (Usage, General,
Payment, etc.). Then the first level of values in the facet would be specific term names, so

it
would be easy to click on all licenses with a PrintCopy term. Then if you selected PrintCopy, you
would be able to select Permitted, Prohibited, etc. since there is a controlled vocabulary of
statuses for that term. After selecting Permitted, you would

be able to see all controlled
vocabulary terms that are included in a PrintCopy term in the license that has a Permitted
status.


The Appendix at the end of this document lists both some sample data for these proposed
facets, and also lists the data field

that would be used to populate different levels of the facets.


The fully desired implementation would require both the hierarchical facets described above
combined with the ability to perform multi
-
select on those facet values. For example, show me
all l
icenses with a SupplyCopy term that is Permitted AND a PrintCopy term that is Prohibited. I
have indicated the desired type of multi
-
select for each facet (AND vs. OR) in the Appendix. If it
is not technically feasible to have both hierarchical and multi
-
s
elect facets (I have never seen
this), then the SMEs would choose to have the hierarchical facet concept retained. In addition, a
fully desired implementation would provide the ability to both include or exclude facet values.
This would allow staff to sear
ch for all licenses that don’t have walk
-
in user as an authorized
user, for example. Both the UNC Chapel Hill Libraries catalog and the Summon user interface
(see
http
://
ncsu
.
summon
.
serialssolutions
.
com
)

have implementation that allow exclusion.


Results View


When searching / filtering licenses, the results view should behave similarly to a bibliographic
reco
rd search. It should show a reasonable number of licenses in one view, and allow paging
through the result set. It should show the total number of licenses that matched the search /
filter. You should be able to sort the result set by Agreement Renewal Dat
e (asc / desc),
Agreement Execution date (asc / desc), Agreement Start date (asc / desc), License title,
Licensor, product name (if feasible).


The licenses themselves in the results list should display a summary view. This summary view
should include:



li
cense title



licensor



package / resource title



contract number



execution date



license status


These results could be displayed in a line by line manner sort of like an Excel spreadsheet or
could be formatted more like a multi
-
line record result in a biblio
graphic record search. Users
should be able to click on the license title (or some button) to open the license viewer / editor.
The mockups linked at the start of this document illustrate both these possibilities. The SMEs
may favor the grid view for its s
uccinct display.


It would be desirable to display highlighted snippets in the result list that show what license text
matched the search terms, but this is not critical for the first release. It would also be desirable
to display the values from any term(
s) that were filtered on / searched, but this is also not critical
for the first release. Neither of these displays are feasible with a grid view of the results.


Exporting Results


From the search results, a user should be able to export all licenses in t
hat result set. In addition
to ONIX
-
PL records, should be able to export an enhanced version of the summary view a CSV.


The CSV version should include this metadata:



license identifier (assuming this is an internal, unique key in OLE that could be used t
o
match up data across spreadsheets)



license title



license status



licensor



licensee



package / resource title



contract number



license start date



license end date



license execution date



license renewal date
-
> compute by taking the license end date and subtr
act the time
period from the notice period for termination to get the license renewal date


It would also be helpful to be able to route all items in the result set (or some subset of the
results?) to a specific person or queue for further action / analys
is. This would probably require
adding the same note or status or label to the License Request for all licenses?


Appendix: Possible Facet Sample Data / Data Model:


Sample Data


Agreement status (select one)



active



inactive


Agreement method (select one)



negotiated license



SERU



copyright


Agreement type (select one)



supplemental



trial



regular



addendum


Agreement Start Date (select start and end dates)



2 date pickers (from <date1> to <date2>)


Agreement End Date (select start and end dates)



2 date pickers
(from <date1> to <date2>)


Agreement Renewal Date (select start and end dates; this is a computed field)



Agreement Renewal Date is computed by subtracting notice period for termination from
Agreement End date



2 date pickers (from <date1> to <date2>)


Agre
ement Execution Date (select start and end dates)



2 date pickers (from <date1> to <date2>)


Authorized Users (combine multiple selected values using AND)



LicenseeDistanceLearningStudent



LicenseeFaculty



LicenseeStaff



LicenseeStudent



LicenseeAlumnus



WalkInU
ser



<other values that appear in licenses in results set>


Usage Terms (multi
-
select AND)



Access



Permitted


IPAuthentication


PasswordAccess


<other values>



Prohibited


WalkInUser


<other values>



Include



Permitted


PrintedInstructionalMaterial


<other values>



Pr
ohibited


CourseReserveElectronic


<other values>



Silent


CoursePackElectronic


<other values>



SupplyCopy (ILL)



Permitted


LoansomeDocUser


Post


Fax


ThirdPartyLibrary


<other values>



Prohibited


ElectronicTransmission


<other values>



MakeAvailable



ElectronicCopy



Co
py



Perform



Reformat



Permitted


Preservation



<other possible UsageType values>


Continuing Access Terms (multi
-
select AND)



ArchiveCopy



InterpretedYes



Yes



ContinuingAccess



Yes



No



<other possible ContinuiningAccessTermType values>


General Terms (multi
-
select
AND)



DisputeResolution



FundingContingency



Yes



No



ForceMajeure



Indemnity



Yes



No



Jurisdiction



LimitationOfLiability



Yes



No



<other possible GeneralTermType values>


Supply Terms (select one)



ChangeOfOwnershipOfLicensedResource



TransferRightsNote



ChangesToLice
nsedContent



TitleSubstitutionNote



TransferredTitleNote



NewTitleAccessNote



ServicePerformance



UsageStatistics



<other possible SupplyTermType values>


Payment Terms (select one)



Payment Conditions



PriceBasisNote



PriceIncreaseCapDuringTerm



PriceIncreaseCapOnR
enwal



FeesPayableNote


Populate from Data Model:


Usage Terms



UsageType



UsageStatus



UsageMethod (if exists)



TargetResource (if exists)



ReceivingAgent (if exists)



PlaceOfReceivingAgent (if exists)



UsageCondition (if exists)



UsagePurpose (if exists)



PlaceOf
Usage (if exists)


Continuing Access Terms



ContinuingAccessTermType



TermStatus (if exists)


General Terms



GeneralTermType



TermStatus (if exists)


Supply Terms



SupplyTermType



AnnotationType (if Annotation with AnnotationType exists)


Payment Terms



PaymentTe
rmType (there is only one!!)



AnnotationType (if Annotation with AnnotationType exists)



PaymentTermQuantityType (if PaymentTermQuantity exists)




For Reference:

Workflows for initiating Agreement Search (ie, navigation, entry points)



Tiger Team:

1.

Review: The following people have read and agreed to the contents of this document

Name, Title (or Role)

Notes

Signoff, Date

Nancy J. Gibbs, Lead SME, on behalf of SME



Emily Lynema,, Lead Systems Analyst


5/24/2012

Tim McGeary, Tiger Team Lead


6/3/2012

Mohamed El Ouirdi, Tiger Team TC


6/5/2012