Model Legislative Sessions MSA-245

Custom post type named session info will be opened. The custom data table will have the following data:

  • Session name
  • Session info
  • Session state (since the sessions are state connected meaning that there can be session with same name and dates but they will be for different states)
  • Is Active

Check SRS - Figure 26 -Sessions List

Each session should also have the following data

  • Start date
  • End date
  • Year ( format can be like 2018 but also as 2017-2018)
  • Prefiling
  • Convene date
  • Adjourn date
  • Crossover date
  • Additional session info

Check SRS - Figure 27-adding new session Each session should be mapped/connected with particular “legislation id” meaning that session will be display in the legislation detail screen. Each legislation (and legislation only) is connected to some session. Sessions and legislation are in "one to many" relationship meaning that one session can refer to many legislation documents.

Check SRS - Figure 28 -mapping session with legislations Session will have start and end date. Once the end date of session passes some date - example end session date + 1 month, in this case the legislation should be set as inactive and will not be visible for the clients anymore. This “hybrid approach” that system will use, will allow an option to use :

  • grace-period (end date + 1 month for ex.) and
  • a flag for deactivation of this session. For the purpose of using a grace period, the system will use cron based daily job that will set a flag to inactive for all sessions for which the end date will pass this grace period. Deactivation of session means making all the legislation document connected with that session to be not visible anymore. Any users including a user’s with Staff member role should not see documents from inactive sessions by default. On other hand, the staff member role needs to see inactive sessions but only when administering sessions (so they can re-activate them if needed).

A legislative session is when the chamber (house, senate, etc) is “open for business”. A bill must be introduced and passed in a specific session. In terms of data lifecycle management, we use the sessions to remove old bills from the system. So that mistakes can be un-done, we want to first in-activate a session, and only later, completely purge the bills (manually). Bills for inactive sessions should definitely not be included in the search indexes (Solr).