Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-22450

Improve Create Site from Template process

    XMLWordPrintable

    Details

    • Test Plan:
      Hide

      Fairly complex, bear with me.

      I. Do no harm
      --------------
      In a nightly server - create a project site, course site, portfolio site. All workflows are as usual

      II. Use templates
      -----------------
      In a nightly server

      1. Create a 2 project sites and a course site - make sure they all have descriptions
      2. Nip into the Admin Sites tool and
      a. change the site type of one the project sites to "anything", add a site property of template=true
      b. add a site property of template=true to the other two sites - change the title of the course site to "whatever"
      3. Create a new site - the template option is now displayed. They will show the following structure

      Course

      • whatever
        Project
      • project name
        Anything
      • project name

      III. Configure templates
      ------------------------

      This will require control of the server properties

      Add to sakai.properties and restart server (assumes you have the templates described above)

      courseSiteType.count=2
      courseSiteType.1=course
      courseSiteType.2=whatever
      templateControls={"templateControls":{"course":

      {"blurb":"(select from templates for common <u>class</u> types)","copyUsersVis":false,"copyUsersChecked":false,"copyUsersLocked":false,"copyContentVis":true,"copyContentChecked":false,"copyContentLocked":false}

      ,"project":

      {"blurb":"(select from templates for common <u>project</u> types)","copyUsersVis":false,"copyUsersChecked":false,"copyUsersLocked":false,"copyContentVis":false,"copyContentChecked":false,"copyContentLocked":false}

      ,"whatever":

      {"blurb":"(select from templates created by <u>specific schools or campuses</u>)","copyUsersVis":true,"copyUsersChecked":true,"copyUsersLocked":false,"copyContentVis":true,"copyContentChecked":true,"copyContentLocked":true}

      }}

      • the template picker now will exhibit the following:

      1. Templates identified as "course like" will have a term selector when picked - this means the template of the "Anything" category will ask for a term
      2. The template controls (Copy Content, Copy Users) will vary (show/hidden, enabled/disabled, checked/unchecked ) according to the settings
      3. The flow after each selection will be that of its type. Course like things will direct you to pick a "roster" others will just create the site.

      Show
      Fairly complex, bear with me. I. Do no harm -------------- In a nightly server - create a project site, course site, portfolio site. All workflows are as usual II. Use templates ----------------- In a nightly server 1. Create a 2 project sites and a course site - make sure they all have descriptions 2. Nip into the Admin Sites tool and a. change the site type of one the project sites to "anything", add a site property of template=true b. add a site property of template=true to the other two sites - change the title of the course site to "whatever" 3. Create a new site - the template option is now displayed. They will show the following structure Course whatever Project project name Anything project name III. Configure templates ------------------------ This will require control of the server properties Add to sakai.properties and restart server (assumes you have the templates described above) courseSiteType.count=2 courseSiteType.1=course courseSiteType.2=whatever templateControls={"templateControls":{"course": {"blurb":"(select from templates for common <u>class</u> types)","copyUsersVis":false,"copyUsersChecked":false,"copyUsersLocked":false,"copyContentVis":true,"copyContentChecked":false,"copyContentLocked":false} ,"project": {"blurb":"(select from templates for common <u>project</u> types)","copyUsersVis":false,"copyUsersChecked":false,"copyUsersLocked":false,"copyContentVis":false,"copyContentChecked":false,"copyContentLocked":false} ,"whatever": {"blurb":"(select from templates created by <u>specific schools or campuses</u>)","copyUsersVis":true,"copyUsersChecked":true,"copyUsersLocked":false,"copyContentVis":true,"copyContentChecked":true,"copyContentLocked":true} }} the template picker now will exhibit the following: 1. Templates identified as "course like" will have a term selector when picked - this means the template of the "Anything" category will ask for a term 2. The template controls (Copy Content, Copy Users) will vary (show/hidden, enabled/disabled, checked/unchecked ) according to the settings 3. The flow after each selection will be that of its type. Course like things will direct you to pick a "roster" others will just create the site.

      Description

      The site template selection process could be improved.

      The object is to make using templates easier and via that to:

      • reduce the decisions/clicks in site creation from min of 10 max of 40 to min of 5 max of 8.
      • help different institutional orgs to standardize course sites for their members

      At present the interface looks like attached ("template-selection-current.png"). It would be easier for the user to parse and make a decision if the information and the controls were displayed together as in the following screencast:

      http://screencast.com/t/GkMV74yQ8

      This makes use of KNL-1016 that allows to identify a list of site types as members of the "course" category. These are defined in sakai.properties as follows:

      courseSiteType.count=3
      courseSiteType.1=course
      courseSiteType.2=subject
      courseSiteType.3=whatever

      This means that when a user picks a "subject" template they will be asked for a term, since this is a "course"

      The controls (Copy users, Copy Content) available for each template type are controlled (available/not available, checked/not checked, disabled/enabled) via sakai.properties as well. This property is a json text like the one that follows:

      templateControls=
      {
      "templateControls": {
      "course":

      { "blurb": "(select from templates for common <u>class</u> types)", "copyUsersVis": false, "copyUsersChecked": false, "copyUsersLocked": false, "copyContentVis": true, "copyContentChecked": false, "copyContentLocked": false }

      ,
      "project":

      { "blurb": "(select from templates for common <u>project</u> types)", "copyUsersVis": false, "copyUsersChecked": false, "copyUsersLocked": false, "copyContentVis": false, "copyContentChecked": false, "copyContentLocked": false }

      ,
      "subject":

      { "blurb": "(select from templates created by <u>specific schools or campuses</u>)", "copyUsersVis": true, "copyUsersChecked": true, "copyUsersLocked": false, "copyContentVis": true, "copyContentChecked": true, "copyContentLocked": true }

      }
      }

      A separate JIRA will be filed to deal with the fact that the server property is language specific.

      There is a test plan attached.

      See the screencast above, also template_parts.png attached.

        Gliffy Diagrams

          Zeplin

            Attachments

            1. template_parts.png
              template_parts.png
              140 kB
            2. templates.sql
              1.67 MB
            3. template-selection-current.png
              template-selection-current.png
              158 kB

              Issue Links

                Activity

                  People

                  Assignee:
                  gsilver Gonzalo Silverio
                  Reporter:
                  gsilver Gonzalo Silverio
                  Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                    Dates

                    Created:
                    Updated:
                    Resolved:

                      Git Integration