You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »

Grouper 2.4 will have an upcoming patch to help folder admins create a new template.  

On a folder screen, under "more actions" will be an option for "New template"

The wizard will prompt for "Template type", which by default "Service".

New service templates should be configured in grouper-ui.properties, and should extend a common base class.  GrouperTemplateLogicBase

  • Base class
  • In Java will configure options for new service

Should optionally include a group of people who are allowed to use them

The wizard will prompt them for a "key" (alphanumeric), and friendly name (optional).  Also the service description.

The base class should take as an input a stem, a system name extension, and optionally a friendly name extension (default to system name extension)

There should be a ui text key that describes the service (e.g. built in is "New service").  Drop down will pick which type of service

It should return a list of things it will do, as javabeans

ServiceAction

  • reference back to service (which has reference to stem name, and system and display extensions)
  • indentLevel (if should be indented on screen to make easier to read, e.g. under a new stem)
  • type: stem, group, membership, privilege, inheritedPrivilege, attributeDef, attributeName, attributeAssignment
  • arg0: e.g. for stem would be EL for the name, e.g. ${parentStemName}:${serviceSystemName}:etc.  e.g. for privilege is the privilegeName
  • arg1
  • arg2
  • externalized key for the label
  • defaultChecked (true|false)
  • checkSubmitted (if the chwckbox was checked by user)

The UI should display the ServiceActions on the screen, with the correct indent level, and checkboxes

When submitted, if each checkbox is checked, it should do that action (if applicable).  If not applicable, give a warning.  The UI will pass the list of pojos, and "checkSubmitted" is set based on if the checkboxes were checked, to the base class, for a logic method, to implement the template.  There should be a base class method to validate the input, pass the response JS object, and the validate method can write error messages to the screen and return true or false if valid.

New service template wizard

"New service"

Name: wiki

Display name: Wiki

This is an example if you create a new template or type "service" in the "app" folder

  • Do you want a "app:wiki" folder created?
    • Do you want a "app:wiki:service" folder created?
      • Do you want a "app:wiki:service:policy" folder created?
      • Do you want a "app:wiki:service:reference" folder created? (ID is "ref", name is "reference")
      • Do you want a "app:wiki:service:attribute" folder created?
    • Do you want a "app:wiki:security" folder created?
      • Do you want a "app:wiki:security:wiki_admins" group created?
        • Do you want "app:wiki:security:wiki_admins" to have inherited ADMIN privileges on Groups on the "app:wiki" folder?
        • Do you want "app:wiki:security:wiki_admins" to have inherited ADMIN privileges on Folders on the "app:wiki" folder?
        • Do you want "app:wiki:security:wiki_admins" to have inherited ADMIN privileges on Attributes on the "app:wiki" folder?
      • Do you want a "app:wiki:security:wiki_readers" group created?
        • Do you want "app:wiki:security:wiki_readers" to have inherited READ privileges on Groups on the "app:wiki" folder?
      • Do you want a "app:wiki:security:wiki_updaters" group created?
        • Do you want "app:wiki:security:wiki_updaters" to have inherited UPDATE privileges on Groups on the "app:wiki:service" folder?
        • Do you want "app:wiki:security:wiki_updaters" to be a member of "app:wiki:security:wiki_readers"?

Future version could add the "service" tag

TIER structure wizard

"New TIER structure"

Name: engineeringSchool

Display name: Engineering School

This is an example if you create a new template of type "TIER structure" in the "org" folder (in the root folder it will just create all the folders in the root folder)

  • Do you want a "org:Engineering School" folder created? (ID is "engineerSchool", name is "Engineering School")
    • Do you want a "org:Engineering School:etc administrative folder" folder created? (ID is "etc", name is "etc administrative folder")
      • Do you want a "org:Engineering School:etc administrative folder:basis" folder created? 
      • Do you want a "org:Engineering School:etc administrative folder:reference" folder created? (ID is "ref", name is "reference")
      • Do you want a "org:Engineering School:etc administrative folder:bundle" folder created?
      • Do you want a "org:Engineering School:etc administrative folder:application" folder created? (ID is "app", name is "application")
      • Do you want a "org:Engineering School:etc administrative folder:organization" folder created? (ID is "org", name is "organization")
      • Do you want a "org:Engineering School:etc administrative folder:test" folder created?
      • Do you want a "org:Engineering School:etc administrative folderc:security" folder created?
        • Do you want a "org:Engineering School:etc administrative folder:security:Engineering School Admins" group created? (ID is "engineeringSchoolAdmins", name is "Engineering School Admins")
          • Do you want "org:Engineering School:etc administrative folder:security:Engineering School_admins" to have inherited ADMIN privileges on Groups on the "org:Engineering School" folder?
          • Do you want "org:Engineering School:etc administrative folder:security:Engineering School_admins" to have inherited ADMIN privileges on Folders on the "org:Engineering School" folder?
          • Do you want "org:Engineering School:etc administrative folder:security:Engineering School_admins" to have inherited ADMIN privileges on Attributes on the "org:Engineering School" folder?
        • Do you want a "org:Engineering School:etc administrative folder:security:Engineering School_readers" group created?
          • Do you want "org:Engineering School:etc administrative folder:security:Engineering School_readers" to have inherited READ privileges on Groups on the "org:Engineering School" folder?
        • Do you want a "org:Engineering School:etc administrative folder:security:Engineering School_updaters" group created?
          • Do you want "org:Engineering School:etc administrative folder:security:Engineering School_updaters" to have inherited UPDATE privileges on Groups on the "org:Engineering School:basis" folder?
          • Do you want "org:Engineering School:etc administrative folder:security:Engineering School_updaters" to have inherited UPDATE privileges on Groups on the "org:Engineering School:reference" folder?
          • Do you want "org:Engineering School:etc administrative folder:security:Engineering School_updaters" to have inherited UPDATE privileges on Groups on the "org:Engineering School:bundle" folder?
          • Do you want "org:Engineering School:etc administrative folder:security:Engineering School_updaters" to have inherited UPDATE privileges on Groups on the "org:Engineering School:application" folder?
          • Do you want "org:Engineering School:etc administrative folder:security:Engineering School_updaters" to have inherited UPDATE privileges on Groups on the "org:Engineering School:organization" folder?
          • Do you want "org:Engineering School:etc administrative folder:security:Engineering School_updaters" to have inherited UPDATE privileges on Groups on the "org:Engineering School:test" folder?
          • Do you want "org:Engineering School:etc administrative folder:security:Engineering School_updaters" to be a member of "org:Engineering School:etc administrative folder:security:Engineering School_readers"?


  • No labels