[DG: Spanish Sakai] ¿Como activar el MyWorkspace de un usuario desde código?

Manuel Pérez manuelpg07 at gmail.com
Wed Jan 13 16:34:39 PST 2010


Buenos días,

os comento cual es la situación, primero el código:

// authenticate with the admin user to obtain the necessary permissions
        // to create test data
        UsageSessionService.startSession("admin", "127.0.0.1",
"Voice-Agent");

        // set the user information into the current session
        Session sakaiSession = SessionManager.getCurrentSession();
        sakaiSession.setUserId("admin");
        sakaiSession.setUserEid("admin");

        // update the user's externally provided realm definitions
        AuthzGroupService.refreshUser("admin");

        // create an student user
        try {
            UserEdit ue = UserDirectoryService.addUser("teststudent1",
"teststudent1");
            ue.setEmail("test at student1.es");
            ue.setFirstName("test1");
            ue.setLastName("student1");
            ue.setPassword("sakai");
            ue.setType("user");
            UserDirectoryService.commitEdit(ue);
        } catch (UserIdInvalidException e) {
            throw new OSIDUnitTestException(e.getMessage());
        } catch (UserAlreadyDefinedException e) {
            // User already created
        } catch (UserPermissionException e) {
            throw new OSIDUnitTestException(e.getMessage());
        }

        // create one site and add the user.
        try {
            if (!SiteService.siteExists("testsite1")) {

                Site site1 = SiteService.addSite("testsite1", "course");

                // site information
                site1.setDescription("test description");
                site1.setPublished(true);
                site1.setPubView(false);
                site1.setShortDescription("test short description");
                site1.setTitle("Test Site 1");
                site1.setType("course");
                // add roles
                try {
                    site1.addRole("Instructor");
                } catch (RoleAlreadyDefinedException ralde) {
                }
                try {
                    site1.addRole("Student");
                } catch (RoleAlreadyDefinedException ralde) {
                }

                // add members to site
                site1.addMember("teststudent1", "Student", true, false);
                SiteService.saveSiteMembership(site1);

                SiteService.save(site1);
            }
        } catch (IdInvalidException e) {
            throw new OSIDUnitTestException(e.getMessage());
        } catch (IdUsedException e) {
            // Site already created
        } catch (PermissionException e) {
            throw new OSIDUnitTestException(e.getMessage());
        } catch (IdUnusedException e) {
            throw new OSIDUnitTestException(e.getMessage());
        }


y el problema es el siguiente, necesitaría que de alguna forma, desde código
se diese de alta tambien el MyWorkspace de ese usuario añadido, sin embargo
con este código no se da de alta hasta que este entra, pero eso no me vale,
tiene que ser desde código y he probado a hacerle la autenticación desde
código o empezar una nueva session con el UsageSessionService, pero nada,
entonces si alguno tiene alguna idea estaría muy agradecido. Este código es
para unas pruebas por eso el tener que hacerlo así.

Otra cosa, por si alguien sabe, ¿como haceis para borrar un gradebook desde
código sin excepciones de la base de datos que os lo impidan? cosa de las
FOREING KEYS.

Un saludo y muchas gracias de antemano por cualquier respuesta,
Manuel Pérez
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/spanish-sakai/attachments/20100114/c4cf1135/attachment.html 


More information about the spanish-sakai mailing list