code: def save_project(self, project):
          
          pid = project.pid
  
          # project created
          # project updated
  
          if project.is_active:
              # project is not deleted
              logger.debug("project is active")
              ds_project = self.get_project(pid)
              if ds_project is None:
                  self._create_project(pid)
  
              # update project meta information
              name = self._truncate(project.name, 40)
              self._set_project(pid, name, project.institute)
          else:
              # project is deleted
              logger.debug("project is not active")
              ds_project = self.get_project(pid)
              if ds_project is not None:
                  self._delete_project(pid)
  
          return
docs: Called when project is saved/updated.