Uploaded image for project: 'OptaPlanner'
  1. OptaPlanner
  2. PLANNER-1117

OptaShift: add (create) and remove (delete) tenant

XMLWordPrintable

      • We want a screen to CRUD show the list of tenants (similar to the skill CRUD screen).
        • For now, we don't want to be able to change tenants (too complex to get right without corrupting the database - when in doubt, leave it out)
        • We do want the ability to delete a tenant, but that should come with a "danger zone" warning "are you sure?" dialog box. Look at GitHub's admin screen for inspiration. Deleting a tenant means deleting all data related to that tenant (all shifts, all employees, all skills, etc)
        • We also want the ability to add a tenant. At this point, we need to fill in a number of configuration parameters, basically everything in RosterState
        • The first day of the schedule. For example: today is 10-November-2018. Management has just ok'ed to use of this system starting from next year on. We fill in 1-January-2019 as the first day of the schedule.
          • There's a validation that this date is in the future.
          • It defaults to the first Monday of next month. (java.time can do that easily)
          • The filled in value of this field goes into RosterState.firstDraftDate (which will change later).
            • Notice there won't be any published shifts or historic shifts before this firstDraftDate.
              • But once the first week is published, the firstDraftDate will move forward a week.
            • It will take a while before the number of publish weeks is at least the publish notice, which is ok, because now() is probably much earlier and the publish notice is relative to now.
        • The publish notice: defaults to 3 weeks
        • The publish length: defaults to 1 week.
        • The draft length: defaults to 3 times the publish notice
          • We 'll probably want them to input the number of integer times the draft length is the publish length, so they can't set draftLenght to 9 days and publish length to 7. It should be an integer multitude of the publish length.
            • Validate that it's at least 2, for now.
              • If we allow 1 week, they can paint themselves in a corner. We don't want to give them enough rope to hang themselves, unless there's a proven need to give them that much rope.
        • No need to ask for unplannedRotationOffset. That is 0.
        • The rotation length. Defaults to 1 week.
        • We do NOT need the score constraint weights of TenantConfiguration - as those will change more frequently and we'll want to do that in the simulation screen we build later.
      • Adding (and later editing or deleting) tenants is an Administrator's responsibility.
        • So this CRUD tenant screen should be behind the admin link somehow.
        • But we also have the "reset database" screen there, so we probably want a sub menu bar? Let's talk to UX.
        • For now, just create a link "tenants" next to the "admin" link.
          • Or create a gear icon next to the tenants combobox that opens that screen.

            cchianel Christopher Chianelli
            gdesmet@redhat.com Geoffrey De Smet (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: