Introduction

SeisFinder versions, releases and access control

Depending on the user class,  a user may have different level of access to data and feature. This way, we can allow internal users and early-adopter users to have access to our latest feature (which may not be fully tested) or data set that have not been thoroughly scrutinised.


Overview

The basis of SeisFinder is a Python CLI program. This gives the user full access to all the features. However, only internal users will have an access to this CLI program, and other users with less privilege can only use web-interface.


User class

1 - Internal, 2 - Affiliates, 3 - Public


Data Access 

SeisFinder CLI has an extra switch "--access-level = 1 (2, 3)" where this switch and the cybershake version (eg. 18p6) are used to look up the dictionary (maybe HDF5 format) that tells the regions of allowed access. When a user executes SeisFinder from the web interface, based on the user class, this "--access-level= X" will be added to construct the CLI command.

eg. ) python ~/seisfinder2/site/site_search.py --cs-version v18p6 --access-level 3 --im SA_5p0 --csv-location ./test.csv --hazard 


Data access dictionary: v18p6, access-level 1 can access everything (*), but level 2 can access Canterbury, Wellington and Auckland.  Level 3 has the least access, limited to Canterbury only.

For the example abpve, the user has level 3 access.  Out of specified locations in test.csv, only stations in the Canterbury region will be accepted for hazard calculation.

Feature Access 

SeisFinder CLI have all the features (plus their detailed options) configurable through arguments.  We will have a dictionary of features and its access-level.  When the web interface is rendering a user input page, it will check the user class, and based on the feature dictionary, it will determine whether it should make a specific feature editable by the user. If the user doesn't have the enough privilege, the web interface will not display the input field, instead will print the default value for the feature. (the default value is also kept in the feature dictionary). 

v18p6

(access = 1 means  only level 1 user can edit this field, and others will be using default value.  access=3 means all users of level 1...3 can edit this field)

featureoptionaccessdefaulttypeNote
-cs-version3v18p6stringIdeal if available options for the user-level is displayed in the drop-down menu
sites




ims




clear




hazard
3



im-PGAstring

location--(float,float)

csv-location--string
deagg
2



im-PGA


location--(float,float)

csv-location--string

imvalue-



exceedance-


gmsel
1



im
PGA


location--(float,float)

csv-location--string

Options have the same access level as the feature by default, but they can be fine tuned. For example, if a feature has access level 3, all its options are by default, but you can specify one particular option to be 1, such that only a level 1 user can edit the value. 

However, an option can not be less strict than feature it belongs to (ie. option's access  <= feature's access)  For example, a feature has access level 1, all its options are by default 1 and they must be 1.


The whiteboard sketch of this plan


  • No labels