docs: def _render_name(self):
          """Render data name.
  
          The rendering is based on name template (`process.data_name`) and
          input context.
  
          """
          if not self.process.data_name or self.named_by_user:  # pylint: disable=no-member
              return
  
          inputs = copy.deepcopy(self.input)
          hydrate_input_references(inputs, self.process.input_schema, hydrate_values=False)  # pylint: disable=no-member
          template_context = inputs
  
          try:
              name = render_template(
                  self.process,
                  self.process.data_name,  # pylint: disable=no-member
                  template_context
              )
          except EvaluationError:
              name = '?'
  
          self.name = name